- REPORT ZNADAR_TRANSPORTA NO STANDARD PAGE HEADING LINE-SIZE 130.
- * Original: RDDPROTL
- INCLUDE <ICON>.
- TABLES: DD07T, TSTRFCOFIL, E07T, E071, E070L, E070, USR01, SSCRFIELDS,
- ZCET_TR_POSITION.
- CONSTANTS: YOSOY LIKE SY-UNAME VALUE 'DES016',
- ESTOY(10) VALUE 'BCN.',
- SUPERVISOR LIKE SY-UNAME VALUE 'DES015',
- PROYECTO(15) VALUE 'ANIBAL.'.
- ************* Creacin de Ordenes
- PARAMETERS: USUARI LIKE SY-UNAME.
- SELECTION-SCREEN BEGIN OF LINE.
- PARAMETERS: BOLA1 RADIOBUTTON GROUP TIT.
- SELECTION-SCREEN COMMENT 5(30) BOL01.
- SELECTION-SCREEN END OF LINE.
- PARAMETERS: NOM(10),
- DESC(60) LOWER CASE,
- FELIPE LIKE SY-UNAME DEFAULT SUPERVISOR.
- SELECTION-SCREEN SKIP 1.
- SELECTION-SCREEN BEGIN OF LINE.
- PARAMETERS: BOLA2 RADIOBUTTON GROUP TIT.
- SELECTION-SCREEN COMMENT 5(40) BOL2.
- SELECTION-SCREEN END OF LINE.
- PARAMETERS: ADDPARAM LIKE SXPGCOLIST-PARAMETERS,
- CMDNAME(20) DEFAULT 'Z_TRANS'.
- ************* Parametros Log Orden
- SELECTION-SCREEN SKIP 1.
- SELECTION-SCREEN BEGIN OF LINE.
- PARAMETERS: BOLA3 RADIOBUTTON GROUP TIT DEFAULT 'X'.
- SELECTION-SCREEN COMMENT 5(40) BOL03.
- SELECTION-SCREEN END OF LINE.
- PARAMETERS: ORDEN(20).
- SELECT-OPTIONS: SOLICI FOR ZCET_TR_POSITION-SOLICITUD,
- SYUNAME FOR SY-UNAME.
- PARAMETERS: LESS LIKE TSTRFCOFIL-TARSYSTEM. "Find
- SELECTION-SCREEN SKIP 1.
- SELECT-OPTIONS FCREA FOR E070-AS4DATE.
- SELECT-OPTIONS FLIBERA FOR TSTRFCOFIL-TRDATE.
- PARAMETERS OBJE LIKE E071-OBJ_NAME.
- SELECTION-SCREEN SKIP 1.
- SELECTION-SCREEN BEGIN OF LINE.
- SELECTION-SCREEN COMMENT 01(18) TXT01.
- PARAMETERS: DEST AS CHECKBOX DEFAULT 'X'. "View Destination
- SELECTION-SCREEN COMMENT 30(18) TXT02.
- PARAMETERS: OBJ AS CHECKBOX DEFAULT 'X'. "View Objects
- SELECTION-SCREEN COMMENT 60(18) TXT03.
- PARAMETERS: FLASTKR AS CHECKBOX DEFAULT 'X'. "View Last order
- SELECTION-SCREEN END OF LINE.
- SELECTION-SCREEN BEGIN OF LINE.
- SELECTION-SCREEN COMMENT 01(18) TXT04.
- PARAMETERS: ERROR_G AS CHECKBOX DEFAULT 'X'. "View OK order
- SELECTION-SCREEN COMMENT 30(18) TXT05.
- PARAMETERS: ERROR_Y AS CHECKBOX DEFAULT 'X'. "View Warning order
- SELECTION-SCREEN COMMENT 60(18) TXT06.
- PARAMETERS: ERROR_R AS CHECKBOX DEFAULT 'X'. "View Error order
- SELECTION-SCREEN END OF LINE.
- SELECTION-SCREEN FUNCTION KEY 1.
- SELECTION-SCREEN FUNCTION KEY 2.
- SELECTION-SCREEN FUNCTION KEY 3.
- SELECTION-SCREEN FUNCTION KEY 4.
- ************* Parametros
- TYPES: TS_COFILE_LINE LIKE TSTRFCOFIL,
- TT_COFILE_LINES TYPE TS_COFILE_LINE OCCURS 0.
- DATA: ZVRSN LIKE VRSN OCCURS 0 WITH HEADER LINE,
- ZVRSD_OLD LIKE VRSD_OLD OCCURS 0 WITH HEADER LINE,
- PV_DIR_T(1) VALUE 'T',
- ORDEN_LIST LIKE TRSAPNAMES OCCURS 0 WITH HEADER LINE,
- LS_COFILE_HEADER LIKE TSTRFCOFIH,
- LT_COFILE_LINES TYPE TT_COFILE_LINES WITH HEADER LINE,
- DES(60), AL(3) TYPE N ,AH LIKE AL, DESI(20), DL(1),
- BEGIN OF I_BDCDATA OCCURS 0.
- INCLUDE STRUCTURE BDCDATA. "Estruct
- DATA: END OF I_BDCDATA,
- GEN LIKE ORDEN_LIST OCCURS 0 WITH HEADER LINE,
- ZUSR01 LIKE USR01 OCCURS 0 WITH HEADER LINE,
- ITAB LIKE LT_COFILE_LINES OCCURS 0 WITH HEADER LINE,
- CX TYPE I,
- CH TYPE I,
- CL TYPE I,
- PAR01 LIKE VRSD_OLD-OBJNAME,
- PAR02 LIKE VRSD_OLD-OBJTYPE.
- INITIALIZATION.
- SELECT SINGLE TRKORR INTO ORDEN FROM E070L WHERE LASTNUM = 'TRKORR'.
- ORDEN+4(16) = '*'.
- MOVE 'Destination:' TO TXT01.
- MOVE 'Objects:' TO TXT02.
- MOVE 'Last Order' TO TXT03.
- MOVE 'OK' TO TXT04.
- MOVE 'Warning' TO TXT05.
- MOVE 'ERROR' TO TXT06.
- MOVE 'New Order-----------------------------------------' TO BOL01.
- MOVE 'Transport Order-----------------------------------' TO BOL2.
- MOVE 'Order Log-----------------------------------------' TO BOL03.
- SSCRFIELDS-FUNCTXT_01 = 'Ordenes'.
- SSCRFIELDS-FUNCTXT_02 = '@4A@'. "ZCET_TRANSXTER
- SSCRFIELDS-FUNCTXT_03 = '@13@ Orden'. "ZCET_TRANSXTER
- SSCRFIELDS-FUNCTXT_04 = 'Solicitud'. "ZCET_TRANSXTER
- AT LINE-SELECTION.
- IF SY-CUCOL >= 70 AND NOT E07T-AS4TEXT+0(10) IS INITIAL.
- CLEAR I_BDCDATA. REFRESH I_BDCDATA.
- PERFORM DYNPRO USING: 'X' 'SAPMZCET_TRANSTER01' '1003',
- ' ' 'BDC_OKCODE' '=ENTE',
- ' ' 'ZCET_E_HEADER-SOLICITUD'
- E07T-AS4TEXT+0(10).
- CALL TRANSACTION 'ZCET_TRANSTER03' USING I_BDCDATA MODE 'E'.
- ELSE.
- IF SY-LISEL+05(1) = ' '.
- IF SY-LISEL+14(1) IS INITIAL.
- IF SY-LISEL+30(1) IS INITIAL.
- PERFORM LEE_ORDEN.
- ELSE.
- SUBMIT (SY-REPID) WITH ORDEN = ZVRSD_OLD-KORRNUM AND RETURN.
- ENDIF.
- ELSE.
- SUBMIT RSPUTPRT WITH ACTTYPE = 'G'
- WITH SYSNAME = LT_COFILE_LINES-TARSYSTEM
- WITH TRKORR = ORDEN_LIST-TRKORR
- AND RETURN.
- ENDIF.
- ELSE.
- SUBMIT RDDPROTL WITH PV_DIR_T = 'T'
- WITH PV_KORR = SY-LISEL+05(19)
- WITH PV_TART = 'WOENRF'
- WITH PV_USER = ORDEN_LIST-REP_USER
- AND RETURN.
- ENDIF.
- ENDIF.
- AT SELECTION-SCREEN.
- IF SSCRFIELDS-UCOMM = 'FC04'.
- CALL TRANSACTION 'ZCET_TRANSTER03'.
- ENDIF.
- IF SSCRFIELDS-UCOMM = 'FC03'.
- CLEAR I_BDCDATA. REFRESH I_BDCDATA.
- PERFORM DYNPRO USING: 'X' 'RDDM0002' '0100',
- ' ' 'BDC_OKCODE' '=SRCH',
- 'X' 'RDDM0002' '0100',
- ' ' 'BDC_OKCODE' '/EBACK'.
- CALL TRANSACTION 'SE09' USING I_BDCDATA MODE 'E'.
- ENDIF.
- IF SSCRFIELDS-UCOMM = 'FC01'.
- CLEAR I_BDCDATA. REFRESH I_BDCDATA.
- TYPES: TRWBO_CHARFLAG(1) TYPE C.
- TYPES: BEGIN OF TRWBO_SELECTION,
- TRKORRPATTERN LIKE E070-TRKORR,
- STDREQUEST TYPE TRWBO_CHARFLAG,
- CLIENT LIKE E070C-CLIENT,
- TARSYSTEM LIKE E070-TARSYSTEM,
- ALLCLIENTS TYPE TRWBO_CHARFLAG,
- CATEG_SYST TYPE TRWBO_CHARFLAG,
- CATEG_CUST TYPE TRWBO_CHARFLAG,
- REQFUNCTIONS LIKE TRPARI-W_LONGSTAT,
- REQSTATUS LIKE TRPARI-W_LONGSTAT,
- TASKFUNCTIONS LIKE TRPARI-W_LONGSTAT,
- TASKSTATUS LIKE TRPARI-W_LONGSTAT,
- CONNECT_REQ_TASK_CONDITIONS TYPE C,
- SINGLETASKS TYPE TRWBO_CHARFLAG,
- FREETASKS_F LIKE TRPARI-W_LONGSTAT,
- FREETASKS_S LIKE TRPARI-W_LONGSTAT,
- FROMDATE LIKE E070-AS4DATE,
- TODATE LIKE E070-AS4DATE,
- END OF TRWBO_SELECTION.
- DATA SELE TYPE TRWBO_SELECTION OCCURS 0 WITH HEADER LINE.
- SELE-TRKORRPATTERN = 'DESK*'.
- SELE-ALLCLIENTS = 'X'.
- SELE-CATEG_SYST = 'X'.
- SELE-CATEG_CUST = 'X'.
- SELE-REQFUNCTIONS = 'ABCDEFKLMOPRSTWX'. "'KLAWTCOEMPDRSXF'.
- SELE-REQSTATUS = 'NODLPA'.
- SELE-FROMDATE = SY-DATUM. SELE-FROMDATE+4(4) = '0101'.
- SELE-TODATE = SY-DATUM.
- APPEND SELE.
- CALL FUNCTION 'TR_SEARCH_AND_DISPLAY_REQUESTS'
- EXPORTING
- IV_USERNAME = SY-UNAME
- IS_SELECTION = SELE
- IV_VIA_SELSCREEN = ' '
- EXCEPTIONS
- ACTION_ABORTED_BY_USER = 1
- OTHERS = 2.
- ENDIF.
- IF SSCRFIELDS-UCOMM = 'FC02'.
- LEAVE TO TRANSACTION 'ZCET_TRANSTER01'.
- ENDIF.
- END-OF-SELECTION.
- CASE 'X'.
- WHEN BOLA1. PERFORM CREAR_ORDEN.
- WHEN BOLA2. PERFORM TRANSPORTA.
- WHEN BOLA3. PERFORM LEE_ORDEN.
- ENDCASE.
- FORM LEE_ORDEN. "Leemos el Log de la Orden
- CLEAR: SY-LSIND, GEN, ZUSR01. REFRESH: GEN, ZUSR01.
- * Maldita funcin no se le puede pasar el user en blanco!!!
- IF NOT OBJE IS INITIAL.
- SELECT MAX( TRKORR ) INTO ORDEN FROM E071 WHERE OBJ_NAME = OBJE.
- SELECT SINGLE STRKORR INTO ORDEN FROM E070 WHERE TRKORR = ORDEN.
- ENDIF.
- SELECT SINGLE * FROM E070 WHERE TRKORR = ORDEN.
- IF SY-SUBRC NE 0.
- IF NOT SYUNAME IS INITIAL AND SOLICI IS INITIAL.
- SELECT * FROM USR01 INTO TABLE ZUSR01 WHERE BNAME IN SYUNAME.
- CHECK SY-SUBRC EQ 0.
- LOOP AT ZUSR01. "Evitamos DUMPS de Timing
- CLEAR: ORDEN_LIST. REFRESH: ORDEN_LIST.
- CALL FUNCTION 'STRF_ACCESS_SAPNAMES'
- EXPORTING
- IV_FUNCTION = 'R' "Ni Idea
- IV_USER = ZUSR01-BNAME
- IV_DIRTYPE = PV_DIR_T " Vale T
- TABLES
- TT_SAPNAMES = ORDEN_LIST
- EXCEPTIONS
- OTHERS = 1.
- CHECK SY-TFILL GT 0.
- APPEND LINES OF ORDEN_LIST FROM 1 TO SY-TFILL TO GEN.
- ENDLOOP.
- ENDIF.
- ORDEN_LIST[] = GEN[].
- SORT ORDEN_LIST BY TRKORR.
- ELSE.
- IF NOT E070-STRKORR IS INITIAL.
- ORDEN = E070-STRKORR.
- ENDIF.
- ORDEN_LIST-TRKORR = ORDEN. APPEND ORDEN_LIST.
- ENDIF.
- IF NOT SOLICI IS INITIAL.
- SELECT * FROM ZCET_TR_POSITION WHERE SOLICITUD IN SOLICI.
- ORDEN_LIST-TRKORR = ZCET_TR_POSITION-TRKORR.
- APPEND ORDEN_LIST.
- ENDSELECT.
- DELETE ADJACENT DUPLICATES FROM ORDEN_LIST.
- SORT ORDEN_LIST BY TRKORR.
- ENDIF.
- LOOP AT ORDEN_LIST.
- IF NOT ORDEN IS INITIAL. CHECK ORDEN_LIST-TRKORR CP ORDEN. ENDIF.
- SELECT SINGLE * FROM E070 WHERE TRKORR = ORDEN_LIST-TRKORR.
- CHECK SY-SUBRC EQ 0.
- IF NOT FLIBERA IS INITIAL.
- CHECK ( E070-TRSTATUS EQ 'R' AND E070-AS4DATE IN FLIBERA ).
- ENDIF.
- IF NOT FCREA IS INITIAL.
- CHECK ( E070-TRSTATUS = 'D' AND E070-AS4DATE IN FCREA ).
- ENDIF.
- CHECK E070-AS4USER IN SYUNAME.
- CALL FUNCTION 'STRF_READ_COFILE'
- EXPORTING
- IV_DIRTYPE = PV_DIR_T
- IV_TRKORR = ORDEN_LIST-TRKORR
- IMPORTING
- EV_COFI_HEADER = LS_COFILE_HEADER
- TABLES
- TT_COFI_LINES =
- LT_COFILE_LINES "Aqui retorna el listadorrR!!
- EXCEPTIONS
- NO_INFO_FOUND = 2.
- ITAB[] = LT_COFILE_LINES[].
- CLEAR CL.
- LOOP AT ITAB.
- * if not itab-trdate in flibera.
- * cl = 1. delete itab. continue.
- * endif.
- CLEAR: ITAB-TRTIME, ITAB-FUNCTION. MODIFY ITAB.
- ENDLOOP.
- * if cl = 1. delete orden_list. continue. endif.
- DELETE ADJACENT DUPLICATES FROM ITAB.
- LOOP AT ITAB.
- READ TABLE LT_COFILE_LINES WITH KEY TARSYSTEM = ITAB-TARSYSTEM
- RETCODE = ITAB-RETCODE.
- ITAB-TRTIME = LT_COFILE_LINES-TRTIME. MODIFY ITAB.
- ENDLOOP.
- DESCRIBE TABLE ITAB LINES CH.
- IF CH GT 0.
- LOOP AT LT_COFILE_LINES WHERE RETCODE NE 0.
- READ TABLE ITAB WITH KEY TARSYSTEM = LT_COFILE_LINES-TARSYSTEM
- RETCODE = 0.
- IF SY-SUBRC EQ 0.
- DELETE ITAB INDEX SY-TABIX.
- ELSE.
- READ TABLE ITAB WITH KEY TARSYSTEM = LT_COFILE_LINES-TARSYSTEM
- RETCODE = LT_COFILE_LINES-RETCODE.
- IF SY-SUBRC EQ 0. DELETE ITAB INDEX SY-TABIX. ENDIF.
- ENDIF.
- ITAB = LT_COFILE_LINES . APPEND ITAB.
- ENDLOOP.
- ENDIF.
- SORT ITAB BY TRDATE TRTIME .
- LT_COFILE_LINES[] = ITAB[].
- ** Buscamos aquellas ordenes que no esten en alguna mquina
- IF NOT LESS IS INITIAL.
- READ TABLE LT_COFILE_LINES WITH KEY TARSYSTEM = LESS.
- CHECK SY-SUBRC NE 0.
- ENDIF.
- ** Fecha de Liberacin
- IF NOT FCREA IS INITIAL.
- DESCRIBE TABLE LT_COFILE_LINES LINES CH.
- IF CL = 1 AND CH = 0. CONTINUE. ENDIF.
- ENDIF.
- **
- CASE ORDEN_LIST-RC.
- WHEN 0. CHECK ERROR_G = 'X'. WRITE: / ICON_GREEN_LIGHT AS ICON.
- WHEN 4. CHECK ERROR_Y = 'X'. WRITE: / ICON_YELLOW_LIGHT AS ICON.
- WHEN OTHERS. CHECK ERROR_R = 'X'. WRITE: / ICON_RED_LIGHT AS ICON.
- ENDCASE.
- SELECT SINGLE * FROM E07T WHERE TRKORR = ORDEN_LIST-TRKORR
- AND LANGU = SY-LANGU.
- FORMAT COLOR COL_KEY ON.
- WRITE: AT 006 ORDEN_LIST-TRKORR HOTSPOT ON,
- AT 025 LS_COFILE_HEADER-TRUSER NO-GAP,
- E07T-AS4TEXT.
- *---- Slo para el cliente con transportes de solicitud.
- SELECT MAX( SOLICITUD ) INTO E07T-AS4TEXT FROM
- ZCET_TR_POSITION
- WHERE TRKORR = ORDEN_LIST-TRKORR.
- IF SY-SUBRC EQ 0 AND NOT E07T-AS4TEXT IS INITIAL.
- WRITE: E07T-AS4TEXT+0(10) COLOR COL_TOTAL NO-GAP HOTSPOT ON.
- HIDE E07T-AS4TEXT+0(10).
- ENDIF.
- *---- Slo para el cliente con transportes de solicitud.
- FORMAT COLOR COL_KEY OFF.
- IF DEST = 'X'.
- LOOP AT LT_COFILE_LINES.
- CLEAR DD07T.
- IF NOT LT_COFILE_LINES-FUNCTION IS INITIAL.
- SELECT SINGLE DDTEXT INTO DD07T-DDTEXT FROM DD07T
- WHERE DOMNAME = 'TRBATFUNC' " Dominio de las func.
- AND DDLANGUAGE = SY-LANGU
- AND AS4LOCAL = 'A'
- AND AS4VERS = '0000'
- AND DOMVALUE_L = LT_COFILE_LINES-FUNCTION.
- ENDIF.
- CASE LT_COFILE_LINES-RETCODE.
- WHEN 0. WRITE: AT /010 ICON_GREEN_LIGHT AS ICON.
- WHEN 4. WRITE: AT /010 ICON_YELLOW_LIGHT AS ICON.
- WHEN OTHERS. WRITE: AT /010 ICON_RED_LIGHT AS ICON.
- ENDCASE.
- WRITE: LT_COFILE_LINES-TARSYSTEM HOTSPOT ON,
- LT_COFILE_LINES-TRDATE,
- LT_COFILE_LINES-TRTIME,
- LT_COFILE_LINES-HOST, DD07T-DDTEXT+0(20).
- HIDE: ORDEN_LIST, LT_COFILE_LINES.
- *---- Slo para el cliente con transportes de solicitud.
- SELECT MAX( SOLICITUD ) INTO E07T-AS4TEXT FROM
- ZCET_TR_POSITION
- WHERE TRKORR = ORDEN_LIST-TRKORR." and
- * sysnam = lt_cofile_lines-tarsystem.
- IF SY-SUBRC EQ 0 AND NOT E07T-AS4TEXT IS INITIAL.
- WRITE: E07T-AS4TEXT+0(10) COLOR COL_TOTAL NO-GAP HOTSPOT ON.
- HIDE E07T-AS4TEXT+0(10).
- ENDIF.
- *---- Slo para el cliente con transportes de solicitud.
- ENDLOOP.
- ENDIF.
- IF OBJ = 'X'.
- FORMAT INTENSIFIED OFF.
- SELECT * FROM E071 WHERE TRKORR EQ ORDEN_LIST-TRKORR.
- " object ne 'RELE'. "- Eliminos la cabecera
- IF E071-OBJECT = 'RELE'.
- WRITE: /20 E071-OBJ_NAME(40).
- CONTINUE.
- ENDIF.
- WRITE: /020 E071-PGMID,
- E071-OBJECT,
- E071-OBJ_NAME(40),
- E071-OBJFUNC,
- E071-LOCKFLAG,
- E071-GENNUM.
- HIDE: ORDEN_LIST, LT_COFILE_LINES.
- ** Vemos si ha sido incluido en una versin superior
- IF FLASTKR = 'X'.
- PAR01 = E071-OBJ_NAME.
- PAR02 = E071-OBJECT.
- REFRESH: ZVRSD_OLD. CLEAR: ZVRSD_OLD.
- IF PAR02 NE 'MESS' AND PAR02 NE 'FUGT' AND
- PAR02 NE 'ADIR'.
- * Hay que evitar los messages, ya que provocan un DUMP en la func
- CALL FUNCTION 'SVRS_GET_VERSION_DIRECTORY'
- EXPORTING
- OBJNAME = PAR01
- OBJTYPE = PAR02
- TABLES
- LVERSNO_LIST = ZVRSN
- VERSION_LIST = ZVRSD_OLD
- EXCEPTIONS
- NO_ENTRY = 1
- OTHERS = 2.
- ELSE.
- SY-SUBRC = 4.
- ENDIF.
- IF SY-SUBRC EQ 0.
- LOOP AT ZVRSD_OLD WHERE VERSNO GT 0.
- IF ZVRSD_OLD-KORRNUM NE ORDEN_LIST-TRKORR.
- WRITE: /030 'Last order up:',
- ZVRSD_OLD-KORRNUM HOTSPOT ON,
- ZVRSD_OLD-DATUM,
- ZVRSD_OLD-ZEIT.
- HIDE ZVRSD_OLD-KORRNUM.
- ENDIF.
- EXIT.
- ENDLOOP.
- ENDIF.
- ENDIF.
- **
- ENDSELECT.
- FORMAT INTENSIFIED ON.
- ENDIF.
- SKIP 1.
- ENDLOOP.
- ENDFORM.
- FORM DYNPRO USING VALUE(#_DYNBEGIN) VALUE(#_NAME) VALUE(#_VALUE).
- CLEAR I_BDCDATA.
- IF NOT #_DYNBEGIN IS INITIAL.
- I_BDCDATA-PROGRAM = #_NAME.
- I_BDCDATA-DYNPRO = #_VALUE.
- I_BDCDATA-DYNBEGIN = #_DYNBEGIN.
- ELSE.
- I_BDCDATA-FNAM = #_NAME.
- I_BDCDATA-FVAL = #_VALUE.
- ENDIF.
- APPEND I_BDCDATA.
- ENDFORM. "dynpro
- FORM PREGUNTA_ORDEN.
- DATA: TERELU(12).
- WHILE USUARI IS INITIAL.
- CALL FUNCTION 'POPUP_TO_GET_VALUE'
- EXPORTING
- FIELDNAME = 'UNAME'
- TABNAME = 'SYST'
- TITEL = 'Seleccionar usuario'
- VALUEIN = ' ' "Ojo al DATO!!
- IMPORTING
- ANSWER = DL
- VALUEOUT = TERELU
- EXCEPTIONS
- FIELDNAME_NOT_FOUND = 1
- OTHERS = 2.
- CHECK DL NE 'C'.
- USUARI = TERELU.
- ENDWHILE.
- ENDFORM.
- FORM CREAR_ORDEN.
- CLEAR I_BDCDATA. REFRESH I_BDCDATA.
- PERFORM PREGUNTA_ORDEN.
- SELECT SINGLE * FROM USR01 WHERE BNAME = USUARI.
- CHECK SY-SUBRC EQ 0.
- WRITE SY-DATUM TO DES.
- ** Esta parte es opcional...
- IF SY-UNAME = YOSOY.
- CONCATENATE ESTOY DES INTO DES SEPARATED BY ' '.
- ELSE.
- CONCATENATE 'MAD.' DES INTO DES SEPARATED BY ' '.
- ENDIF.
- **
- CONCATENATE PROYECTO DES DESC INTO DES SEPARATED BY ' '.
- AL = STRLEN( NOM ) + 2.
- AH = 60 - AL.
- CONCATENATE '[' NOM ']' INTO DESI.
- CONDENSE DES.
- MOVE DESI TO DES+AH(AL).
- PERFORM DYNPRO USING: 'X' 'RDDM0002' '0100',
- ' ' 'BDC_OKCODE' '=ENTR',
- 'X' 'SAPMSSY0' '0120',
- ' ' 'BDC_OKCODE' '=ADDO',
- ' ' 'BDC_CURSOR' '06/21',
- 'X' 'SAPLSTR8' '0102',
- ' ' 'BDC_OKCODE' '=CREA',
- ' ' 'BDC_CURSOR' 'GT_TASKS-USER(01)',
- ' ' 'KO013-TRKORR_T' DES,
- ' ' 'GT_TASKS-USER(01)' USUARI.
- IF NOT FELIPE IS INITIAL.
- PERFORM DYNPRO USING: ' ' 'GT_TASKS-USER(02)' FELIPE.
- ENDIF.
- PERFORM DYNPRO USING: 'X' 'SAPMSSY0' '0120',
- ' ' 'BDC_OKCODE' '=TRRT',
- 'X' 'RDDM0002' '0100',
- ' ' 'BDC_OKCODE' '/EBACK'.
- DL = 'E'.
- CALL TRANSACTION 'SE09' USING I_BDCDATA MODE DL.
- CHECK SY-SUBRC EQ 0.
- SELECT SINGLE * FROM E070L WHERE LASTNUM = 'TRKORR'.
- IF NOT USUARI IS INITIAL. SUBTRACT 1 FROM E070L-TRKORR+4(6). ENDIF.
- IF NOT FELIPE IS INITIAL. SUBTRACT 1 FROM E070L-TRKORR+4(6). ENDIF.
- DATA KK LIKE SM04DIC-POPUPMSG.
- CONCATENATE 'Orden' E070L-TRKORR
- 'creada:' DES INTO KK SEPARATED BY ' '.
- PERFORM MESI USING KK.
- LEAVE PROGRAM.
- ENDFORM.
- FORM TRANSPORTA.
- DATA: BEGIN OF SXPGCOMTAB_INTERNAL OCCURS 0.
- INCLUDE STRUCTURE SXPGCOTABE.
- DATA: TYPE(8) TYPE C ,
- MODIFIED(1) TYPE C ,
- END OF SXPGCOMTAB_INTERNAL,
- EXITSTAT LIKE EXTCMDEXEX-EXITCODE,
- BEGIN OF SXPGCOMTAB_KEY OCCURS 0.
- INCLUDE STRUCTURE SXPGCOMTAB_INTERNAL.
- DATA: END OF SXPGCOMTAB_KEY,
- ADDITIONAL_PARAMETERS LIKE SXPGCOLIST-PARAMETERS,
- BEGIN OF RESULT_TAB OCCURS 0.
- INCLUDE STRUCTURE BTCXPM.
- DATA: END OF RESULT_TAB.
- PERFORM PREGUNTA_ORDEN.
- ADDITIONAL_PARAMETERS = ADDPARAM.
- CLEAR SXPGCOMTAB_KEY. REFRESH SXPGCOMTAB_KEY.
- SELECT * FROM SXPGCOSTAB INTO TABLE SXPGCOMTAB_KEY
- WHERE NAME = CMDNAME.
- CHECK SY-SUBRC EQ 0.
- READ TABLE SXPGCOMTAB_KEY INDEX 1.
- DATA: TS LIKE RFCDISPLAY-RFCHOST.
- TS = SY-HOST.
- CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
- EXPORTING
- COMMANDNAME = SXPGCOMTAB_KEY-NAME
- OPERATINGSYSTEM = SXPGCOMTAB_KEY-OPSYSTEM
- TARGETSYSTEM = TS
- ADDITIONAL_PARAMETERS = ADDITIONAL_PARAMETERS
- IMPORTING
- EXITCODE = EXITSTAT
- TABLES
- EXEC_PROTOCOL = RESULT_TAB
- EXCEPTIONS
- NO_PERMISSION = 1
- COMMAND_NOT_FOUND = 2
- PARAMETERS_TOO_LONG = 3
- SECURITY_RISK = 4
- WRONG_CHECK_CALL_INTERFACE = 5
- PROGRAM_START_ERROR = 6
- PROGRAM_TERMINATION_ERROR = 7
- X_ERROR = 8
- PARAMETER_EXPECTED = 9
- TOO_MANY_PARAMETERS = 10
- ILLEGAL_COMMAND = 11
- WRONG_ASYNCHRONOUS_PARAMETERS = 12
- CANT_ENQ_TBTCO_ENTRY = 13
- JOBCOUNT_GENERATION_ERROR = 14
- OTHERS = 15.
- IF SY-SUBRC NE 0.
- LOOP AT RESULT_TAB. WRITE: / RESULT_TAB-MESSAGE. ENDLOOP. EXIT.
- ENDIF.
- DATA KK LIKE SM04DIC-POPUPMSG.
- LOOP AT RESULT_TAB WHERE MESSAGE NP '*tp finished with return code:*'.
- DELETE RESULT_TAB.
- ENDLOOP.
- DELETE ADJACENT DUPLICATES FROM RESULT_TAB.
- LOOP AT RESULT_TAB.
- CONCATENATE 'Orden finalizada:' ADDITIONAL_PARAMETERS
- RESULT_TAB-MESSAGE INTO KK SEPARATED BY ' '.
- PERFORM MESI USING KK.
- ENDLOOP.
- ENDFORM.
- FORM MESI USING TESTO LIKE SM04DIC-POPUPMSG.
- DATA: TXT(200).
- TXT = TESTO.
- MESSAGE S398(00) WITH TXT+0(49) TXT+49(49) TXT+99(49) TXT+149(49).
- CHECK USUARI NE SY-UNAME.
- CALL FUNCTION 'TH_POPUP'
- EXPORTING
- CLIENT = SY-MANDT
- USER = USUARI
- MESSAGE = TESTO
- EXCEPTIONS
- USER_NOT_FOUND = 1
- OTHERS = 2.
- ENDFORM.
Última modificación de la página el 04 November 2015 a las 15h04
Powered by
PmWiki