BPEL Append for collection output

Hi,
I need to append the values of an invoke procedure loop,  each time inside the loop an output collection is returned with an unique ID parameter ( EX: 20,30,40,50) and all these parameters have to be appended and  passed to the PL/SQL procedure to delete the ID value.
can i use copy and append to get the values in an single variable
Thanks,
Balaji.

YOu need to take care of only one thing.
When you are appending the output from the input layer the mapping from input to output will be one layer below the input layer
what i mean is if you have an element
<employee>
<name>
<employee>
and name is the appending element then you will use append operation and map the name from input to employee in the output

Similar Messages

  • Issue with xsd Data type mapping for collection of user defined data type

    Hi,
    I am facing a issue with wsdl for xsd mapping for collection of user defined data type.
    Here is the code snippet.
    sample.java
    @WebMethod
    public QueryPageOutput AccountQue(QueryPageInput qpInput)
    public class QueryPageInput implements Serializable, Cloneable
    protected Account_IO fMessage = null;
    public class QueryPageOutput implements Serializable, Cloneable
    protected Account_IO fMessage = null;
    public class Account_IO implements Serializable, Cloneable {
    protected ArrayList <AccountIC> fintObjInst = null;
    public ArrayList<AccountIC>getfintObjInst()
    return (ArrayList<AccountIC>)fintObjInst.clone();
    public void setfintObjInst(AccountIC val)
    fintObjInst = new ArrayList<AccountIC>();
    fintObjInst.add(val);
    Public class AccountIC
    protected String Name;
    protected String Desc;
    public String getName()
    return Name;
    public void setName(String name)
    Name = name;
    For the sample.java code, the wsdl generated is as below:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions
    name="SimpleService"
    targetNamespace="http://example.org"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    >
    <wsdl:types>
    <xs:schema version="1.0" targetNamespace="http://examples.org" xmlns:ns1="http://example.org/types"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://example.org/types"/>
    <xs:element name="AccountWSService" type="ns1:accountEMRIO"/>
    </xs:schema>
    <xs:schema version="1.0" targetNamespace="http://example.org/types" xmlns:ns1="http://examples.org"
    xmlns:tns="http://example.org/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://examples.org"/>
    <xs:complexType name="queryPageOutput">
    <xs:sequence>
    <xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="accountEMRIO">
    <xs:sequence>
    <xs:element name="fIntObjectFormat" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageType" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageId" type="xs:string" minOccurs="0"/>
    <xs:element name="fIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fOutputIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fintObjInst" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="queryPageInput">
    <xs:sequence>
    <xs:element name="fPageSize" type="xs:string" minOccurs="0"/>
    <xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
    <xs:element name="fStartRowNum" type="xs:string" minOccurs="0"/>
    <xs:element name="fViewMode" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://example.org" xmlns:ns1="http://example.org/types">
    <import namespace="http://example.org/types"/>
    <xsd:complexType name="AccountQue">
    <xsd:sequence>
    <xsd:element name="arg0" type="ns1:queryPageInput"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AccountQue" type="tns:AccountQue"/>
    <xsd:complexType name="AccountQueResponse">
    <xsd:sequence>
    <xsd:element name="return" type="ns1:queryPageOutput"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AccountQueResponse" type="tns:AccountQueResponse"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="AccountQueInput">
    <wsdl:part name="parameters" element="tns:AccountQue"/>
    </wsdl:message>
    <wsdl:message name="AccountQueOutput">
    <wsdl:part name="parameters" element="tns:AccountQueResponse"/>
    </wsdl:message>
    <wsdl:portType name="SimpleService">
    <wsdl:operation name="AccountQue">
    <wsdl:input message="tns:AccountQueInput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
    ns1:Action=""/>
    <wsdl:output message="tns:AccountQueOutput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
    ns1:Action=""/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SimpleServiceSoapHttp" type="tns:SimpleService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="AccountQue">
    <soap:operation soapAction=""/>
    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="SimpleService">
    <wsdl:port name="SimpleServicePort" binding="tns:SimpleServiceSoapHttp">
    <soap:address location="http://localhost:7101/WS-Project1-context-root/SimpleServicePort"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    In the above wsdl the collection of fintObjInst if of type xs:anytype. From the wsdl, I do not see the xsd mapping for AccountIC which includes Name and Desc. Due to which, when invoking the web service from a different client like c#(by creating proxy business service), I am unable to set the parameters for AccountIC. I am using JAX-WS stack and WLS 10.3. I have already looked at blog http://weblogs.java.net/blog/kohlert/archive/2006/10/jaxws_and_type.html but unable to solve this issue. However, at run time using a tool like SoapUI, when this wsdl is imported, I am able to see all the params related to AccountIC class.
    Can some one help me with this.
    Thanks,
    Sudha.

    Did you try adding the the XmlSeeAlso annotation to the webservice
    @XmlSeeAlso({<package.name>.AccountIC.class})
    This will add the schema for the data type (AccountIC) to the WSDL.
    Hope this helps.
    -Ajay

  • How to append ALV grid output to LIST output

    Hi,
    I am working with Basis AUDIT MANUAL report for which i have to integrate around 50 standard transactions (SM37,SM35...etc) output and make it into one single report.
    On execution of my report i have to get all the 50 transaction outputs sequentially.
    Some standard transactions have ALV list display output and some have GRID display.I can able to append only list outputs by submit program and exporting list to memory.
    Please suggest me how to get Alv grid output in midst of list output.
    Regards
    Kalpana.

    You should post your question to the ABAP forum:
    ABAP Development

  • PCOLL_CONTROL, PCST_TXN,...What are these objects? JBO-28039:Root node for collection

    I've a UIX JSP Application with BC4J developed with JDeveloper RC.
    I noted that in my schema there are these "strange" db objects:
    PCOLL_CONTROL
    PCST_MYPACKAGEMODULE_SEQ
    PCST_MyPackageModule
    PCST_TXN
    PCST_TXN_SEQ
    Can anyone explain what are they or where can I find documentation about them ?
    When and why Jdev create them ?
    Beside some people that use my application got the following Error:
    "JBO-28039: Root node for collection TXN of id -1 is invalid......".
    I think that it's connected with the objects listed above.
    Has someone experienced this problem ?
    thank you
    Isabella

    Could you provide more information regarding this issue:
    1. When you mention that some people that use your application receive the exception do you mean that the
    exception is thrown from the application and displayed to the user or do you mean that the exception is simply logged
    in the Diagnostic output? The latter may be expected in some scenarios.
    2. Could you provide a full stack trace for the exception?
    3. Could you provide the BC4J diagnostic output generated when the exception occurs (specify the VM switch
    -Djbo.debugoutput=console at the command line)?
    Thanks,
    JR

  • How to Convert spool which is for smartform output  to PDF?

    how to Convert spool which is for smartform output  to PDF?
    CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF' is not working for smartform output,
    if i use this there will be error spool not contain list output?
    than whats the function module or way to convert spool contain smartform output to pdg?
    regards,

    <b>Procedure</b>
         When we activate the Smartform the system generates a Function Module. The function module name we can get from Smartfrom screen from menubar
    “Environment => Function Module_Name” . In a report we can get this Function module name by calling a Function Module standard SSF_FUNCTION_MODULE_NAME. This function module  at runtime calls the FM generated by smartform, which in turn is then used to pass data from the report to Smartform. In the report given below the FM generated is “ /1BCDWB/SF00000152 ”. In this FM we can see CONTROL_PARAMETERS in import tab. This is of type SSFCTRLOP. We need to set the GETOTF of this to be ‘X’. Setting this field will activate the OTF field in smartform.
    In export tab of the FM generated by smartform we can see a parameter JOB_OUTPUT_INFO which is of type SSFCRESCL. The SSFCRESCL is a structure of having one of fields as OTFDATA. OTFDATA in turn is a table of type ITCOO. ITCOO has two fields TDPRINTCOM and TDPRINTPAR. TDPRINTCOM  represents command line of OTF format data and TDPRINTPAR contains command parameters of OTF format data.
    In every Smartform output in OTF format, TDPRINTCOM begins and ends with ‘//’. ‘EP’ represents the end-of-page value for TDPRINTCOM field.
    In addition we need to set few fields at the place where we call this FM(generated by smartform) in our program. While calling this FM we should set control_parameters, output_options, user_settings and job_putput_info fields as shown in program.
    Once these settings are done we can call Function Module CONVERT_OTF to convert the OTF data of smartfrom output to PDF data format. Once these are done we can call method “cl_gui_fronted_services=>file_save_dialog” to specify the directory path where we want to save the output PDF file. After this we can call Function Module GUI_DOWNLOAD to download the PDF file on our local system.
    <b>Here is a sample code of program to perform the function.</b>
    SAMPLE CODE
    [code]*&---------------------------------------------------------------------*
    *& Report  ZAMIT_SMART_FORM_PDF                                        *
    REPORT  ZAMIT_SMART_FORM_PDF                    .
    data: carr_id type sbook-carrid,
          cparam type ssfctrlop,
          outop type ssfcompop,
          fm_name type rs38l_fnam.
    DATA: tab_otf_data TYPE ssfcrescl,
          pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE,
          tab_otf_final TYPE itcoo OCCURS 0 WITH HEADER LINE,
          file_size TYPE i,
          bin_filesize TYPE i,
          FILE_NAME type string,
          File_path type string,
          FULL_PATH type string.
    parameter:      p_custid type scustom-id default 1.
    select-options: s_carrid for carr_id     default 'LH' to 'LH'.
    parameter:      p_form   type tdsfname   default 'ZAMIT_SMART_FORM'.
    data: customer    type scustom,
          bookings    type ty_bookings,
          connections type ty_connections.
    start-of-selection.
    ***************** suppressing the dialog box for print preview****************************
    outop-tddest = 'LP01'.
    cparam-no_dialog = 'X'.
    cparam-preview = SPACE.
    cparam-getotf = 'X'.
      select single * from scustom into customer where id = p_custid.
      check sy-subrc = 0.
      select * from sbook   into table bookings
               where customid = p_custid
               and   carrid in s_carrid
               order by primary key.
      select * from spfli into table connections
               for all entries in bookings
               where carrid = bookings-carrid
               and   connid = bookings-connid
               order by primary key.
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting  formname           = p_form
    *                 variant            = ' '
    *                 direct_call        = ' '
           importing  fm_name            = fm_name
           exceptions no_form            = 1
                      no_function_module = 2
                      others             = 3.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        exit.
      endif.
    * calling the generated function module
      call function fm_name
           exporting
    *                 archive_index        =
    *                 archive_parameters   =
                     control_parameters   = cparam
    *                 mail_appl_obj        =
    *                 mail_recipient       =
    *                 mail_sender          =
                     output_options       =  outop
                     user_settings        = SPACE
                     bookings             = bookings
                      customer             = customer
                      connections          = connections
          importing
    *                 document_output_info =
                     job_output_info      = tab_otf_data
    *                 job_output_options   =
           exceptions formatting_error     = 1
                      internal_error       = 2
                      send_error           = 3
                      user_canceled        = 4
                      others               = 5.
      if sy-subrc <> 0.
    *   error handling
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
      tab_otf_final[] = tab_otf_data-otfdata[].
      CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
       format                      = 'PDF'
       max_linewidth               = 132
    *   ARCHIVE_INDEX               = ' '
    *   COPYNUMBER                  = 0
    *   ASCII_BIDI_VIS2LOG          = ' '
    IMPORTING
       bin_filesize                = bin_filesize
    *   BIN_FILE                    =
      TABLES
        otf                         = tab_otf_final
        lines                       = pdf_tab
    EXCEPTIONS
       err_max_linewidth           = 1
       err_format                  = 2
       err_conv_not_possible       = 3
       err_bad_otf                 = 4
       OTHERS                      = 5
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL METHOD cl_gui_frontend_services=>file_save_dialog
    *  EXPORTING
    *    WINDOW_TITLE         =
    *    DEFAULT_EXTENSION    =
    *    DEFAULT_FILE_NAME    =
    *    FILE_FILTER          =
    *    INITIAL_DIRECTORY    =
    *    WITH_ENCODING        =
    *    PROMPT_ON_OVERWRITE  = 'X'
      CHANGING
        filename             = FILE_NAME
        path                 = FILE_PATH
        fullpath             = FULL_PATH
    *    USER_ACTION          =
    *    FILE_ENCODING        =
    *  EXCEPTIONS
    *    CNTL_ERROR           = 1
    *    ERROR_NO_GUI         = 2
    *    NOT_SUPPORTED_BY_GUI = 3
    *    others               = 4
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *************downloading the converted PDF data to your local PC********
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
       bin_filesize                    = bin_filesize
       filename                        = FULL_PATH
       filetype                        = 'BIN'
    *   APPEND                          = ' '
    *   WRITE_FIELD_SEPARATOR           = ' '
    *   HEADER                          = '00'
    *   TRUNC_TRAILING_BLANKS           = ' '
    *   WRITE_LF                        = 'X'
    *   COL_SELECT                      = ' '
    *   COL_SELECT_MASK                 = ' '
    *   DAT_MODE                        = ' '
    *   CONFIRM_OVERWRITE               = ' '
    *   NO_AUTH_CHECK                   = ' '
    *   CODEPAGE                        = ' '
    *   IGNORE_CERR                     = ABAP_TRUE
    *   REPLACEMENT                     = '#'
    *   WRITE_BOM                       = ' '
    *   TRUNC_TRAILING_BLANKS_EOL       = 'X'
    IMPORTING
       filelength                      = file_size
      TABLES
        data_tab                        = pdf_tab
    *   FIELDNAMES                      =
    EXCEPTIONS
       file_write_error                = 1
       no_batch                        = 2
       gui_refuse_filetransfer         = 3
       invalid_type                    = 4
       no_authority                    = 5
       unknown_error                   = 6
       header_not_allowed              = 7
       separator_not_allowed           = 8
       filesize_not_allowed            = 9
       header_too_long                 = 10
       dp_error_create                 = 11
       dp_error_send                   = 12
       dp_error_write                  = 13
       unknown_dp_error                = 14
       access_denied                   = 15
       dp_out_of_memory                = 16
       disk_full                       = 17
       dp_timeout                      = 18
       file_not_found                  = 19
       dataprovider_exception          = 20
       control_flush_error             = 21
       OTHERS                          = 22
    IF sy-subrc <> 0.
    ENDIF.
    [/code]
    Thanks and Regards,
    Pavankumar

  • How to use variant for diffrent output?

    Hi,
    I have created one report with ALV_grid_display.
    when i execute this report it would show output with less detail.
    I have a one checkbox at selection-screen also. My requirement is when i select this checkbox then report should show output with more detail i.e different output.
    I have heared we can create variant for this.
    Pls tell me how can i do this.
    Correct answear will be rewarded by maximum points.
    Thanks & Regards,
    Gaurav.

    Hi Gaurav,
    leave ur id i will send u the screen shot how to create the variant after getting the output list.
    This is the sample programe
    just go through the bold one in the coding and do modifications in ur programe,
    REPORT ZVRI4E04 LINE-SIZE 250 NO STANDARD PAGE HEADING
                                                  MESSAGE-ID MSG.
    TYPE-POOLS : SLIS.
                           TABLES DECLARATION                            *
    TABLES: VBRK, VBRP, VBKD, KONV, KNA1.
                           V A R I A B L E S                             *
    DATA : W_FIELD TYPE SLIS_FIELDCAT_ALV.
    DATA : F_FIELD TYPE SLIS_T_FIELDCAT_ALV.
    DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA : V_POS TYPE I,
           LS_SORT TYPE SLIS_T_SORTINFO_ALV,
           W_SORT TYPE SLIS_SORTINFO_ALV.
    <b>DATA : IS_VARIANT LIKE DISVARIANT.</b>
    <b>IS_VARIANT-REPORT = SY-CPROG.</b>
    DATA : BEGIN OF T_VBRK OCCURS 0,
           VBELN LIKE VBRK-VBELN,
           FKDAT LIKE VBRK-FKDAT,
           KNUMV LIKE VBRK-KNUMV,
           KUNAG LIKE VBRK-KUNAG,
           VKORG LIKE VBRK-VKORG,
           VTWEG LIKE VBRK-VTWEG,
           SPART LIKE VBRK-SPART,
          END OF T_VBRK.
    DATA : BEGIN OF T_VBRP OCCURS 0,
           VBELN LIKE VBRP-VBELN,
           POSNR LIKE VBRP-POSNR,
           FKIMG LIKE VBRP-FKIMG,
           NTGEW LIKE VBRP-NTGEW,
           BRGEW LIKE VBRP-BRGEW,
           VOLUM LIKE VBRP-VOLUM,
           AUBEL LIKE VBRP-AUBEL,
          END OF T_VBRP.
    DATA : BEGIN OF T_VBKD OCCURS 0,
           VBELN LIKE VBKD-VBELN,
           BSTKD LIKE VBKD-BSTKD,
          END OF T_VBKD.
    DATA : BEGIN OF T_KONV OCCURS 0,
           KNUMV LIKE KONV-KNUMV,
           KPOSN LIKE KONV-KPOSN,
           STUNR LIKE KONV-STUNR,
           KSCHL LIKE KONV-KSCHL,
           KBETR LIKE KONV-KBETR,
           KWERT LIKE KONV-KWERT,
          END OF T_KONV.
    DATA : BEGIN OF T_KNA1 OCCURS 0,
           KUNNR LIKE KNA1-KUNNR,
           NAME1 LIKE KNA1-NAME1,
          END OF T_KNA1.
    DATA : BEGIN OF T_FINAL OCCURS 0,
           VKORG LIKE VBRK-VKORG,
           VTWEG LIKE VBRK-VTWEG,
           SPART LIKE VBRK-SPART,
           FKDAT LIKE VBRK-FKDAT,
           VBELN LIKE VBRK-VBELN,
           POSNR LIKE VBRP-POSNR,
           NAME1 LIKE KNA1-NAME1,
           BSTKD LIKE VBKD-BSTKD,
           FKIMG LIKE VBRP-FKIMG,
           NTGEW LIKE VBRP-NTGEW,
           BRGEW LIKE VBRP-BRGEW,
           VOLUM LIKE VBRP-VOLUM,
           BASIC LIKE KONV-KWERT,
           EXDUTY LIKE KONV-KWERT,
           ED LIKE KONV-KWERT,
           CST LIKE KONV-KWERT,
           VAT LIKE KONV-KWERT,
           SALTAX LIKE KONV-KWERT,
           FREIGHT LIKE KONV-KWERT,
           TCS LIKE KONV-KWERT,
           SRG LIKE KONV-KWERT,
           RATE LIKE KONV-KBETR,
          END OF T_FINAL.
                        S E L E C T I O N - S C R E E N                  *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
    SELECT-OPTIONS: S_KUNAG FOR T_VBRK-KUNAG,
                    S_FKDAT FOR T_VBRK-FKDAT,
                    S_VKORG FOR T_VBRK-VKORG,
                    S_VTWEG FOR T_VBRK-VTWEG,
                    S_SPART FOR T_VBRK-SPART.
    SELECTION-SCREEN END OF BLOCK B1.
    AT SELECTION-SCREEN .
      SELECT SINGLE KUNAG FKDAT VKORG VTWEG SPART FROM VBRK INTO T_VBRK
                                            WHERE KUNAG IN S_KUNAG
                                              AND FKDAT IN S_FKDAT
                                              AND VKORG IN S_VKORG
                                              AND VTWEG IN S_VTWEG
                                              AND SPART IN S_SPART.
      IF SY-SUBRC <> 0.
        MESSAGE E000 WITH 'THERE IS NO RECORDS FOR THIS SELECTION CRITERIA'.
      ENDIF.
    START-OF-SELECTION.
      SELECT VBELN FKDAT KNUMV KUNAG VKORG VTWEG SPART
                      FROM VBRK INTO TABLE T_VBRK
                      WHERE KUNAG IN S_KUNAG
                      AND FKDAT IN S_FKDAT
                      AND VKORG IN S_VKORG
                      AND VTWEG IN S_VTWEG
                      AND SPART IN S_SPART.
      IF NOT T_VBRK[] IS INITIAL.
        SELECT VBELN POSNR FKIMG NTGEW BRGEW VOLUM AUBEL
                                      FROM VBRP INTO TABLE T_VBRP
                                      FOR ALL ENTRIES IN T_VBRK
                                      WHERE VBELN = T_VBRK-VBELN.
      ENDIF.
      IF NOT T_VBRP[] IS INITIAL .
        SELECT VBELN BSTKD FROM VBKD
                          INTO TABLE T_VBKD
                          FOR ALL ENTRIES IN T_VBRP
                          WHERE VBELN = T_VBRP-AUBEL.
      ENDIF.
      IF NOT T_VBRK[] IS INITIAL.
        SELECT KNUMV KPOSN STUNR KSCHL KBETR KWERT
                                              FROM KONV
                                              INTO TABLE T_KONV
                                              FOR ALL ENTRIES IN T_VBRK
                                              WHERE KNUMV = T_VBRK-KNUMV.
      ENDIF.
      IF NOT T_VBRK[] IS INITIAL.
        SELECT KUNNR NAME1 FROM KNA1 INTO TABLE T_KNA1
                                          FOR ALL ENTRIES IN T_VBRK
                                          WHERE KUNNR = T_VBRK-KUNAG.
      ENDIF.
                        Populating the final data                        *
      LOOP AT T_VBRP.
        READ TABLE T_VBRK WITH KEY VBELN = T_VBRP-VBELN.
        READ TABLE T_VBKD WITH KEY VBELN = T_VBRP-AUBEL.
        READ TABLE T_KNA1 WITH KEY KUNNR = T_VBRK-KUNAG.
        T_FINAL-VKORG = T_VBRK-VKORG.
        T_FINAL-VTWEG = T_VBRK-VTWEG.
        T_FINAL-SPART = T_VBRK-SPART.
        T_FINAL-FKDAT = T_VBRK-FKDAT.
        T_FINAL-VBELN = T_VBRK-VBELN.
        T_FINAL-POSNR = T_VBRP-POSNR.
        T_FINAL-NAME1 = T_KNA1-NAME1.
        T_FINAL-BSTKD = T_VBKD-BSTKD.
        T_FINAL-FKIMG = T_VBRP-FKIMG.
        T_FINAL-NTGEW = T_VBRP-NTGEW.
        T_FINAL-BRGEW = T_VBRP-BRGEW.
        T_FINAL-VOLUM = T_VBRP-VOLUM.
        LOOP AT T_KONV WHERE KNUMV = T_VBRK-KNUMV AND
        KPOSN = T_VBRP-POSNR.
          IF T_KONV-KSCHL = 'ZIBP' OR T_KONV-KSCHL = 'ZIPR'.
            T_FINAL-BASIC = T_FINAL-BASIC + T_KONV-KWERT.
            IF NOT T_KONV-KBETR IS INITIAL.
              T_FINAL-RATE =  T_KONV-KBETR.
            ENDIF.
          ENDIF.
          IF T_KONV-KSCHL = 'ZIED'.
            T_FINAL-EXDUTY = T_FINAL-EXDUTY + T_KONV-KWERT.
          ENDIF.
          IF T_KONV-KSCHL = 'ZIEC'.
            T_FINAL-ED = T_FINAL-ED + T_KONV-KWERT.
          ENDIF.
          IF T_KONV-KSCHL = 'ZIVA'.
            T_FINAL-SALTAX = T_FINAL-SALTAX + T_KONV-KWERT.
          ENDIF.
          IF T_KONV-KSCHL = 'ZIFD' OR T_KONV-KSCHL = 'ZID0'.
            T_FINAL-FREIGHT = T_FINAL-FREIGHT + T_KONV-KWERT.
          ENDIF.
          IF T_KONV-KSCHL = 'ZITC'.
            T_FINAL-TCS = T_FINAL-TCS + T_KONV-KWERT.
          ENDIF.
          IF T_KONV-KSCHL = 'ZITS'.
            T_FINAL-SRG = T_FINAL-SRG + T_KONV-KWERT.
          ENDIF.
          IF T_KONV-KSCHL = 'ZICS'.
            T_FINAL-CST = T_FINAL-CST + T_KONV-KWERT.
          ENDIF.
          IF T_KONV-KSCHL = 'ZIVA'.
            T_FINAL-VAT = T_FINAL-VAT + T_KONV-KWERT.
          ENDIF.
        ENDLOOP.
        APPEND T_FINAL.
        CLEAR T_FINAL.
        CLEAR T_KONV.
        CLEAR : T_VBRK, T_VBRP, T_VBKD, T_KNA1.
      ENDLOOP.
                        POSITION DECLARATION FOR ALV OUTPUT              *
      V_POS = 0.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'VKORG' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-SELTEXT_M = 'SORG'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'VTWEG' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-SELTEXT_M = 'DCHL'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'SPART' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-SELTEXT_M = 'DVS'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'FKDAT' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-SELTEXT_M = 'Date'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'VBELN' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-SELTEXT_M = 'Inv No'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'POSNR' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-SELTEXT_M = 'Item No'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'NAME1' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-SELTEXT_M = 'Name'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'BSTKD' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-SELTEXT_M = 'PO No'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'FKIMG' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'Quantity'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'NTGEW' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'NT WG'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'BRGEW' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'GR WG'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'VOLUM' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'Volume'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'RATE'.
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'Rate'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'BASIC'.
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'BASIC'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'EXDUTY'.
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'EX Duty'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'ED' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'EDUCATION'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'SALTAX'.
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'SALTAX'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'CST'.
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'CST'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'VAT'.
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'VAT'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'FREIGHT' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'FREIGHT'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'TCS' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'TCS'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      V_POS = V_POS + 1.
      W_FIELD-COL_POS = V_POS.
      W_FIELD-FIELDNAME = 'SRG' .
      W_FIELD-TABNAME = 'T_FINAL'.
      W_FIELD-DO_SUM = 'X'.
      W_FIELD-SELTEXT_M = 'SRG'.
      APPEND W_FIELD TO F_FIELD.
      CLEAR W_FIELD.
      WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
             <b>   I_CALLBACK_PROGRAM = SY-CPROG</b>
               I_STRUCTURE_NAME
                IS_LAYOUT     = WA_LAYOUT
                IT_FIELDCAT   = F_FIELD
          <b>      IS_VARIANT = IS_VARIANT</b>
              <b>  I_SAVE = 'X'</b>
               IT_SORT       = LS_SORT
           TABLES
                T_OUTTAB      = T_FINAL
           EXCEPTIONS
                PROGRAM_ERROR = 1
                OTHERS        = 2.
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Reward points if helpful
    Thanks
    Message was edited by:
            Pattan Naveen

  • Oracle VarChar for ADO Output Parameter

    I have a VB6 app on XP that uses OLE DB and ADO to access data from Oracle. I am trying to create and append and output parameter to my SQL command. The output parameter is of type VarChar in Oracle. I tried to choose adChar, adVarChar, adLongVarChar for this Output parameter type, but I keep getting "3708 Parameter object is imoproperly defined." error.
    What should be right mapping from ADO's DataTypeEnum to Oracle's VarChar???

    I'm not up on the latest, but, the last time I looked at it, we were supposed to use VARCHAR2, not VARCHAR.
    Anyhow, I use VB6 and ADO all the time ... usually with MSDAORA or ODBC, but, regardless, I use adVarChar and have never had a problem with it. You might check to make sure your Size is big enough. I usually just use 255 for Size. I haven't used an OUT parameter in a while, but you might try initialized your parameter value to String(" ", 255) or the like.
    Good luck.

  • 0calweek issue for report output

    0calweek issue for report output
    I have loaded 0calweek in  my infosource.0calweek format is displaying  differently
    in the report
    File : 12005
    PSA   :12005
    ODS  : 012005
    Cube : 012005
    Report: 05/0120
    I am loading first to PSA -> Process Manually to ODS -> Cube
    I am using 0calweek is SAP Provided object.I am not doing anything in the 0calweek
    Please advise on this.
    Advance Thanks

    I solved this issue. I changed the layout everything seems to working now.

  • How to extract error message for each output type.

    Hi All,
    Need your advice on the problem that I have.
    Expected Solution:
    1. Create an extra column for displaying header output error message from VF02 into a report program.
    Steps that i have did:
    1. Go to transaction VF02.
    2. Enter a billing document number.
    3. Hit enter. Click "Goto" > Header> Output
    4. Click on the status that is red colour. Click on "processing log".
    5. Press "F1" on the red colour message type. (Found out that it is a structure).
    Need your advice on the question that I have:
    1) How do we know that which "not successfully" process output type belong to which error message class?

    Hi Brad Bohn,
    Thanks for your advice. I am so sorry about that. Thanks so much for your advice. And i have follow your advices and steps given by you. Appreciate it very much.
    But for this issue about how to extract message for each output type. I have follow your steps by using SE30 to trace VF03 and I managed to found out that they are using this function module "WFMC_PROTOCOL_SHOW". Need your advice on this, how do we know each different output type with different error message is pulled from?
    From my further research and in depth debugging into this function module, i  manage to find this global internal table "PROTO_TAB" which stores all the text messages for each output.  How does this internal table is populated?
    Thanks in advance.
    Regards
    Shawn

  • POSTING_ILLEGAL_STATEMENT in MIGO for collective slip

    Hi all.
    I am using smartforms for printing GI slips in MIGO. The problem is that when i want to print the document for collective slip i get a short dump with error: POSTING_ILLEGAL_STATEMENT. I have looked over the internet for a solution but i could not find one.
    Any ideas ?
    Regards,
    Cristian.

    Hi,
    For correct and quick response, Try posting your question in this forum -  
    SAP Community Network Forums » SAP Solutions » ERP SD Sales
    Thanks,
    Shambhu.

  • Access Sequence for PO output

    Hi experts,
    I have defined new PO output type in NACE by copying existing one.
    I have created New Condition Table for PO output (in SPRO).
    Now, i want to create new access sequence. But, i am facing following problems
    1. If i try to create new access sequence by copying existing one , i am not able to add Newly defined condition table.
    2.       if i try to create new access sequence without copying existing one , i am not able to enter access i.e.   10 ,20 , 30, 40 .... for  access sequence.
    Also , how to link this new access sequence to newly defined Condition table?
    Please, guide me to resolve it
    Regards,
    rahul
    Edited by: RahulNsk on May 9, 2009 9:34 AM

    David,
    I can't answer your question directly but I can propose an alternative:
    If you are looking for another field to trigger output determination, you may want to consider having an ABAP developer create a custom requirement for that output type. Requirements can make simple validation checks and if it passes (sysubrc = 0) then the output is proposed, if not, then output is not proposed.
    Create requirement @ Materials Management > Purchasing > Messages > Output Control > Maintain Requirements for Message Control
    Assign requirement to output type @ Materials Management > Purchasing > Messages > Output Control > Message Determination Schemas > Define Message Schema for Purchase Order.
    I hope this helps

  • Change flag deactivaion for PO output message type during change mode

    Hello All,
    WE are using automatic message output determination functionality for PO output type. This output type has been configured for creation and change mode under Fine tuning.
    Two output type are configured, for example ZAAA is output type for ALE and output type ZBBB for  archiving.
    Here  archiving functionality is used to transfer attachment from ERP system to SUS supplier portal as a pdf file. This is done via enhancement and the attachment transfer is working fine.
    During creation mode both the output types are determined and successfully processed and as a result attachment is transferred to supplier portal which is absolutely correct. In the attachment all PO line item can be seen which works well.
    Now I change the PO and add a new PO line item, system automatically default both the output type for change mode and upon saving both the output type are successfully processed.
    Now here is the problem in change mode only the added PO line item is sent as an attachment to the supplier portal. Here the requirement is see all the PO line items including the once which were newly added.
    Solution is if we uncheck the change flag for output type ZBBB during change mode then all the PO line item can be seen under the new attachment with new version.
    Please let us know how this functionality can be acheived ... is there an user exit available.
    We have a work around where we are running a background job every 3 mins and based on the last successfully processed message for output type ZAAA we are attaching first output type ZBBBfor archiving the changes and then ZAAA for sending the changes along with attachment to Supplier portal.However this solution is a temporary one , we need a concrete solution for this.
    Please advise.
    Thanks,
    Yatin

    Hello All,
    Thanks for the reply,
    But we cannot modify the existing print program as this print program is being used in different countries also.
    We already know a solution that during change mode if we remove the change flag from output type ZBBB then all the PO line items along with the recent changes can be seen under the attachment under supplier portal.
    The question comes now, how do we automate this processu2026 Is there any standard progam or user exit available.
    Manually, if you add a message type ZBBB in ME22N tranasction for creation mode then all PO line item with recent changes get transferred but we need to automate this process for create and change PO transaction.
    Thanks,
    Yatendra

  • How can I get PS CC to always load my preferred Preset while saving for web output?

    For my purposes, I'd prefer to save all JPEGs at 100% quality while saving for web output. I've made a preset as seen below.
    However, PS doesn't always defer to this setting when I begin saving an image for web. Is there a way to make this preset automatically
    load every time I open the output to web process? I process a large number of images, and if I could avoid correcting this it would save me a lot of time.
    I'm using PS CC on a PC. Any help will be appreciated!

    This is the only custom preset I've made with this particular system. So I'd need to delete the pre-loaded PS presets?
    I'm a little loathe to remove the options in case they might be needed in the future or for a task other than the primary one described.

  • How to Design Report for Excel output?

    Hello Experts...
    I have both versions Crystal Report XI and Crystal 2013 at this time as we are in the process of Upgrading...
    How to design for excel output with no page size limit.
    I have several fields going across (crossing width of paper size 11X17 landscape) and I do not need this report output to be printed at all only for excel output.
    Appreciate your time!
    Thank you,
    Padma

    Hi Padma,
    You would need to increase the Page Size horizontally. Go to File > Page Setup > Check 'No Printer' > Check 'Dissociate Formatting Page Size and Printer page Size' > Increase the Horizontal value.
    Also see:
    http://scn.sap.com/docs/DOC-6687
    and
    How to WYSIWYG SAP Crystal Reports Export to XLS
    Formatting a Crystal Report for Export to MS Excel
    -Abhilash

  • How do I program a NI 6602 card to send trigger pulses, one at each output port, triggered by an input trigger signal, using only one counter for each output port?

    Hello,
    I have managed to program a NI 6602 card in LabView to send pulses on three different output ports, one pulse on each output port (with individually chosen delays) for each input trigger pulse coming on a separate input port. It is the DAQmx Create Channel (CO-Pulse Generation-Time)-VI that I have used for this, see attached code. However, this VI controls both pulse delay and pulse width, and therefore uses two counters for each output port (although you only specify one counter in the VI input signals), as I understand.
    In my application though, I only need to have the delay chosen, the pulse width can be arbitrarily short, and thus I should only need one counter for each output port. How do I accomplish to program this in LabView?
    Best regards,
    Claes
    Attachments:
    Configure Side Camera Flash 1 Triggering.vi ‏47 KB

    Well you're welcome to do that--it will work just fine as long as you are configuring a start trigger.
    <rant>
    However, personally I really don't like putting multiple counter outputs in the same task.  I have seen so many people assume that the counter outputs would be synchronized due to having them in the same task when this is not the case (you need to configure a start trigger in order to synchronize the counter outputs even if they are in the same task).  This is the only case I can think of where multiple channels in a DAQmx task are not automatically synchronized.
    As an example:
    Running this on my PCIe X Series gives a measured 2 edge separation of 1 ms + {7.78 us - 10.11 us}.  This would likely be much worse on a bus with more latency (e.g. USB).
    The resulting output is close enough to what you might expect that it might go unnoticed, but really these counter outputs are not synchronized and it would be easy to glance at the code and not even think twice about it.  For the small amount of extra work on my end to create a separate task for each counter, it really clears up some ambiguity about what the counters are actually doing.  For me it's worth it.
    So again, for your case there really isn't a problem with having the counters in the same task since you are using an external start trigger anyway.  I have just gotten in the habit of avoiding doing this.
    </rant>
    Best Regards,
    John Passiak

Maybe you are looking for

  • How do I know that I will like InDesign CS6 IF I CAN'T TRY IT FIRST??????

    For the past two weeks, I have been trying to download the free trial for InDesign CS6 without success. Every single time - no matter what time it is, day or night - I open the Creative Cloud, I get the "Unknown Server Error. Sign in is currently una

  • My computer won't start up...

    I have a Toshiba Satellite L645D-S4040. Had closed down the laptop lid and let it sleep and to let the battery charge. I opened the laptop, the baterry, power and AC power light comes on, but screen is blank. Held down the power button to turn it off

  • [SOLVED] mpd refuses to play songs with unicode in the filenames

    Hi, I've been using MPD+Sonata for a while now (two great pieces of software), unfortunately I just tried to play some songs stored in files with unicode characters (i think they're unicode, the ones with the accents, like 'è') and they refuse to pla

  • Non-valuated materials

    Hi, We have non-valuated materials in master data. We are using account assignment category K (Gl account and cost center purchase) while creating PO for non-valuated material. Hence, the material should get consumed at the time of GR. But we are obs

  • HT3500 Wireless Printer / Macbook pro Problem

    My internet went down yesterday and in the process of getting it working again my wifi provider changed my wifi address. Now, my mac can't locate my printer. How do I make changes to my wifi address so that my mac and printer can communicate again? C