Ayuda con CALL_TRANSACTION_FROM_TABLE

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • fitzgerald
    Junior Member
    • ago
    • 1

    #1

    Ayuda con CALL_TRANSACTION_FROM_TABLE

    Estimados
    Al tratar de ejecutar la funcion CALL_TRANSACTION_FROM_TABLE en java
    me arroja un error si mayor descripcion que ERROR_FOUND.
    Adjunto el codigo por si alguien puede ayudar, Gracias

    //**********************************
    try{
    IFunctionTemplate ftemplate = repository.getFunctionTemplate("CALL_TRANSACTION_F ROM_TABLE");

    JCO.Function function = ftemplate.getFunction();
    JCO.ParameterList header = function.getImportParameterList();
    header.setValue("MB01","I_TCODE");
    header.setValue("S","I_MODE");
    JCO.Table poitem = function.getTableParameterList().getTable("T_BDCDA TA");

    poitem.appendRow();
    poitem.setValue("SAPMM07M","PROGRAM");
    poitem.setValue("0200","DYNPRO");
    poitem.setValue("X", "DYNBEGIN");
    poitem.setValue("", "FNAM");
    poitem.setValue("", "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("BDC_CURSOR", "FNAM");
    poitem.setValue("RM07M-WERKS", "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("BDC_OKCODE", "FNAM");
    poitem.setValue("/00", "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("MKPF-BLDAT", "FNAM");
    poitem.setValue(fecha, "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("MKPF-BUDAT", "FNAM");
    poitem.setValue(fecha, "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("MKPF-BKTXT", "FNAM");
    poitem.setValue("SERFOR - MOV 101", "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("RM07M-BWARTWE", "FNAM");
    poitem.setValue("101", "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("RM07M-EBELN", "FNAM");
    poitem.setValue(Pedido, "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("RM07M-WERKS", "FNAM");
    poitem.setValue(Centro, "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("XFULL", "FNAM");
    poitem.setValue("X", "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("RM07M-WVERS1", "FNAM");
    poitem.setValue("X", "FVAL");

    poitem.appendRow();
    poitem.setValue("SAPMM07M","PROGRAM");
    poitem.setValue("0221","DYNPRO");
    poitem.setValue("X", "DYNBEGIN");
    poitem.setValue("", "FNAM");
    poitem.setValue("", "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("BDC_CURSOR", "FNAM");
    poitem.setValue("MSEG-ERFMG(01)", "FVAL");

    poitem.appendRow();
    poitem.setValue("","PROGRAM");
    poitem.setValue("","DYNPRO");
    poitem.setValue("", "DYNBEGIN");
    poitem.setValue("BDC_OKCODE", "FNAM");
    poitem.setValue("BU", "FVAL");

    mConnection.execute(function);

    }catch(Exception ex){
    mensaje = "Se ha producido un error : "+ex.getMessage();
    }


    al ejecutar BAPIS o RFC funciona sin problemas
  • DCErick
    Moderator
    • mar
    • 1090

    #2
    Bueno algo tarde...

    Pero segun el sap que tengo SAP ECC 6.0 el error es porque al ejecutar la MB01 con los datos que le mandas no tiene un final feliz (sy-subrc = 0).

    Código:
    describe table t_bdcdata lines sy-tabix.
      if sy-tabix <> 0.
        call transaction i_tcode using    t_bdcdata
                                 options from ctu_params
                                 messages into t_bdcmessages.
        [B]check sy-subrc <> c_rc0.[/B]
        raise error_found.
      else.
        loop at t_parameter_ids.
          l_memoryid = t_parameter_ids-fnam.
          set parameter id l_memoryid field t_parameter_ids-fval.
        endloop.
        if sy-subrc = 0.
          call transaction i_tcode and skip first screen.
        else.
          call transaction i_tcode.
        endif.
      endif.
    -------------------
    ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

    Comentario

    Trabajando...