#1
|
||||
|
||||
Ko88 Función o Call transaction
Hola, me gustaría saber si saben de una función para ejecutar la transacción KO88, ya que, tengo el siguiente código para la función:
MOVE: c_hfca TO sl_auak-kokrs, sy-datum TO sl_auak-bzdat, w_perio TO sl_auak-BUPERIO, w_gjahr TO sl_auak-bugjahr, '1' TO sl_auak-co_vaart, w_perio TO sl_auak-perio, ' ' TO sl_control-testrun, 'AUT' TO sl_auak-perbz, w_gjahr TO sl_auak-gjahr. ***Function to KO88. First time; automatic. CALL FUNCTION 'K_SETTLEMENT_SINGLE_PROCESS' EXPORTING I_OBJNR = sl_aux2-objnr I_AUAK = sl_auak I_CONTROL = sl_control IT_BEL_ALL = sl_bel. Pero me genera un dump de un Raise execption : No active, y no tengo idea a lo que se refiera. después el call transaction está así DATA : itg_bdcdata TYPE tab_bdcdata WITH HEADER LINE . PARAMETERS : p_aufnr TYPE aufnr , p_bukrs TYPE bukrs . START-OF-SELECTION. PERFORM p_ko88 USING p_aufnr p_bukrs. END-OF-SELECTION. *----------------------------------------------------------------------* * Form P_KO88 * *----------------------------------------------------------------------* *----------------------------------------------------------------------* FORM p_ko88 USING w_aufnr TYPE aufnr w_bukrs TYPE bukrs . DATA : w_gjahr TYPE gjahr , w_perio TYPE monat , w_nom TYPE apq_grpn , w_keep TYPE char1 , w_mode TYPE char1 , it_enq TYPE wlf_seqg3_tab WITH HEADER LINE. CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD' EXPORTING companycodeid = '0102' posting_date = sy-datum IMPORTING fiscal_year = w_gjahr fiscal_period = w_perio. * Si on trouve rien, on prend la date en cours. IF w_gjahr EQ space OR w_perio EQ space. MOVE : sy-datum+0(4) TO w_gjahr , sy-datum+4(2) TO w_perio . ENDIF. * Nom du dossier. CONCATENATE 'OPCCR_' w_aufnr+6(6) INTO w_nom. **** Vérifie si on doit garder les dossiers. *** SELECT SINGLE low *** INTO w_keep *** FROM tvarvc *** WHERE name EQ 'ZCO_KO88_BATCH_KEEP'. *** IF sy-subrc NE space. *** CLEAR w_keep. *** ENDIF. MOVE '000004001040' TO w_aufnr. * Open Batch-input. PERFORM p_open_bdc. * Périmètre analytique. PERFORM p_bdc_dynpro USING 'SAPLSPO4' '0300'. PERFORM p_bdc_field USING 'BDC_OKCODE' '=FURT'. PERFORM p_bdc_field USING 'SVALD-VALUE(01)' 'HFCA'. * Sauvegarde transaction. PERFORM p_bdc_dynpro USING 'SAPLKO71' '1000'. PERFORM p_bdc_field USING 'BDC_CURSOR' 'LKO74-TESTlAUF'. PERFORM p_bdc_field USING 'BDC_OKCODE' '=AUSF'. PERFORM p_bdc_field USING 'LKO74-PERIO' w_perio. PERFORM p_bdc_field USING 'LKO74-GJAHR' w_gjahr. PERFORM p_bdc_field USING 'LKO74-VAART' 1. PERFORM p_bdc_field USING 'LKO74-TESTLAUF' ' '. PERFORM p_bdc_field USING 'BCD_SUBSCR' 'SAPLKOSM 0530BLOCK1'. PERFORM p_bdc_field USING 'CODIA-AUFNR' w_aufnr. *Structure for error message TYPES : BEGIN OF ty_s_error, msg_err(60) TYPE c, END OF ty_s_error. DATA: wa_path TYPE string , wa_error TYPE string, wa_cnt TYPE i, "w_mode TYPE c, wa_cnt1(2) TYPE n, it_output type table of ty_s_error, wa_output like line of it_output. *Data decleration for Error Message DATA: t_msg TYPE TABLE OF bdcmsgcoll, " Collecting Error messages w_msg TYPE bdcmsgcoll, w_msg1(51). CALL TRANSACTION 'KO88' USING itg_bdcdata MODE 'A' UPDATE 'S' MESSAGES INTO t_msg. IF sy-subrc EQ 0. * Uploaded into the database WRITE :/ 'DATA UPLOADED IN TABLE EBAN...' . ELSE. * Error Found LOOP AT t_msg INTO w_msg WHERE msgtyp EQ 'E'. * Format Message CALL FUNCTION 'MESSAGE_TEXT_BUILD' EXPORTING msgid = w_msg-msgid msgnr = w_msg-msgnr msgv1 = w_msg-msgv1 msgv2 = w_msg-msgv2 msgv3 = w_msg-msgv3 msgv4 = w_msg-msgv4 IMPORTING message_text_output = w_msg1. wa_output-msg_err = w_msg1. ENDLOOP. ENDIF. Cuando se ejecuta no me quita el modo test y no lo ejecuta. ¿Alguien podría ayudarme?, por favor
__________________
Los escritores somos seres heridos por ello creamos otra realidad |
Herramientas | Buscar en Tema |
Desplegado | |
|
|