Get PERNR from PCPO transaction

Hi Experts,
I have,
1. RunId
2. G/L account number
3. Order number
4. Business area
Is there any function module which will give me the PERNR output based on above mentioned input?
Regards,
Rajneesh

Hi,
Once you run the payroll posting you will get the posting number. Go to Document overview there If you double click on that you can see all employees by PERNR wise.

Similar Messages

  • How to get PERNR from employee search(teamviewer) iView in to a WD-4-ABAP.

    Hello All,
    I had developed a new Web Dynpro for ABAP (WD4A) component for updating a custom Infotype. This application is meant for the manager to maintain some specific data through portal for his employees in the team.
    WD4A application is built based on the employee number it receives from the portal.
         How could I get PERNR from employee search(teamviewer) iView in to my WD4A component?
    In portal I had developed a test page by copying the standard page from MSS com.sap.pct.erp.mss.general_information, and added my WD4A application through an iView into this page.
    Then I hided all the other iVews in the page except (1) employee search and (2)my WD4A iVew. On the preview everything appears fine.
    During the preview of this page it triggers the WDDOINIT of WD4A component main view and then the WDDOMODIFYVIEW. When I select an employee from the employee search, then it triggers only WDDOMODIFYVIEW in the WD4A application and not the WDDOINIT anymore.
    In my  WDDOMODIFYVIEW I had inserted the following code:
      DATA lo_api_component TYPE REF TO if_wd_component.
      DATA lo_portal_manager TYPE REF TO if_wd_portal_integration.
      lo_api_component = wd_comp_controller->wd_get_api( ).
      lo_portal_manager = lo_api_component->get_portal_manager( ).
      DATA lo_api_controller TYPE REF TO if_wd_view_controller.
      lo_api_controller ?= wd_this->wd_get_api( ).
      CALL METHOD lo_portal_manager->subscribe_event
        EXPORTING
          portal_event_namespace = 'urn:com.sap.mss.employeesearch'
          portal_event_name      = 'selection_changed'
          view                   = lo_api_controller
          action                 = 'GET_SELECTED_PERNR'.
    And in the action: 'GET_SELECTED_PERNR'
    METHOD onactionget_selected_pernr .
      DATA lv_str_pernr TYPE string.
      DATA lv_strlen TYPE i.
      DATA lv_pernr TYPE pernr_d.
      DATA lv_offset TYPE i.
      wdevent->get_string(
      EXPORTING
      name = 'PORTAL_EVENT_PARAMETER'
      RECEIVING
      value = lv_str_pernr ).
      lv_strlen = STRLEN( lv_str_pernr ).
      lv_offset = lv_strlen - 8.
      lv_pernr = lv_str_pernr+lv_offset(8).
    ENDMETHOD.
    This is not functioning form me. The action is not getting trigged with the code in WDDOMODIFYVIEW.
    I had gone through several threads in u2018SDN say:
         Pass pernr to WebDynro
         MSS - General Information - Related Activities Links persnr.
         SAP Note: 1112733.
    Most of the threads are answered but incomplete. In some threads people shared document personally which had been helpful.
    I am stuck with this scenario of handling the employee number from employee search iView. Helpful suggestions will be rewarded for sure.
    Thanks in advance.

    Do i understand you correctly that you are not getting the portal event ?
    This can be several reasons ?
    Both portal system and WDA server has to be in same domain and same proptocol to communicate with Portal event.
    Please check in that direction and search posts on this topic.

  • Request: Function Module - Get PERNR from UserID

    Hi,
    Is a simple Function Module available for getting the PERNR from a UserID?
    For example, I'll send the FM the UserID and will get back the relevant PERNR.
    Please Help.
    Thanks,
    John

    Hi John,
    FM is one way but
    Simple code to Find personnel number for UNAME
      SELECT SINGLE pernr INTO t_pernr
        FROM pa0105
        WHERE subty = '0001' AND
              endda >= sy-datum AND
              begda <= sy-datum AND
              usrid = p_uname.
    Best Regards,
    Aslam

  • How to get pernr from Recruitment module(PB000),

    Hi All,
    I want to read the pernr from the applicant data PBnnnn, There is one GET PERNR,
    for PAnnnn, which reads pernrs from Employee data. Is there any similar way for
    applicant data also?

    Do i understand you correctly that you are not getting the portal event ?
    This can be several reasons ?
    Both portal system and WDA server has to be in same domain and same proptocol to communicate with Portal event.
    Please check in that direction and search posts on this topic.

  • HR-stopping Get Pernr from triggering

    hi,
    My selection-screen is combination of PNP + other Fields
    i am using GET PERNR to retrive values..
    my Problem is that When no values is given in PNP fields , i want to Skip
    GET PERNR statement.but i am unable to do it..
    Kindly give some solution.

    hi,
    check the fields whether they are initial or not.
    if the PNP fields are initial then dont process the GET PERNR.
    Dummy code.
    If not PNP-fields initial.
    GET PERNR.
    Endif.
    <b>Reward points if useful</b>
    chandra

  • Get PERNR from UNAME

    Hello Experts,
    I am currently writing a program to list all users of a role and their current position. I need to find a way to get PERNR given a username to eventually obtain the position number. Any help would be appreciated.
    Thanks,
    Nicole

    Hi Nicole,
    This depends on the how user ID are maintained in your system.
    You may get the perner using Infotype 0105. There you have field USRID which is the user ID. Using this you can get the PERNR and once you got the PERNR you can get all the details Using different Infotypes.
    Regards,
    Atish

  • Get PERNR in Dynpro on ABAP

    Hi,
    I`am developing a custom service for ESS on ABAP Dynpro.
    How can I get current employee PERNR inside of my ABAP implementation?
    The only way I know getting PERNR from 0105 i.t. using current sy-uname, but I dont like this solution.
    Is where any other way of getting current employee PERNR?
    thanks to all,
    Evgeny

    Hi Evgeny,
    It's probably best to post these types of questions in the HR/ABAP forums in the future. In any case, the only link between the employee record and the user record is IT 0105 so I'm afraid you don't have much choice there. If you don't want to access the employee record using SQL, I believe there is a function module called something like BAPI_EMPLOYEE_GET_DETAILS (check in SE37).
    Cheers,
    Dion

  • GET PERNR EVENT

    Hi experts,
    please tell me about the get pernr event and from which all tables data is fetched during the event.
    thanks,
    ajay

    Hi,
    GET is the command used in Logical database concept for fetching the data
    GET PERNR will fetch all the Pernr's one by one in a Loop like thing
    and for each pernr the data records in other infotypes have been processed
    and it goes on till all the pernr's are completed.
    see the sample code
    start-of-selection.
    Get PERNR from LDB
    get pernr.
    Get data from Respective Infotypes
    rp_provide_from_last p0001 space pnpbegda pnpendda.
    if p0001-kostl in pnpkostl.
    rep_tab-kostl = p0001-kostl.
    rep_tab-pernr = p0001-pernr.
    rep_tab-ename = p0001-ename.
    Get the Position Text
    clear t528t-plstx.
    select single plstx into t528t-plstx from t528t
    where plans = p0001-plans and
    otype = c_type and
    sprsl = sy-langu.
    if sy-subrc = 0.
    rep_tab-ptext = t528t-plstx.
    endif.
    Get the Cost Center Text
    clear cskt-ltext.
    select single ltext into cskt-ltext from cskt
    where spras = sy-langu and
    kokrs = c_kokrs and
    kostl = p0001-kostl.
    if sy-subrc = 0.
    rep_tab-ctext = cskt-ltext.
    endif.
    append rep_tab.
    clear rep_tab.
    endif.
    Regards,
    Harish

  • Why the Orgunit from Orgstructure not beeing called in Get Pernr

    Dear Freinds
                 Iam using the logical database PNP for my payroll repot. So i have modified
    the selection screen and keppt only
    a) paroll area,
    b) otherperiod and current period
    c) organizational unit.
    My intention is to read all the orgunits throught function module RH_STRUC_GET
    So when i said f4 on orgunit field normall we will get the OrgStrucutre popup,
    from that popup i have select the topmost (i.e very first orgunit) .......when i executed
    for the other period 01 2007 (means april 2007 i.e 01.04.2007 to 30.04.2007)
    02 2007, 032007,04,2007,05,2007 & 062007 it is not even triggered GET PERNR.
    however from 072007 to 122007( october2007 to march2008)getpernr it is getting triggered,
    My question why is this happening iam not able to find in debugging , does the payroll area not in the periiod ?? or is this any thing like that please let me know iam not able to find ...........atleast give me some clue so that i can check in that aspect.
    Please help me freinds as this has been struc .......as this more imp for my FO
    Regards
    syamla

    Hi Syamala,
    I do not quite understand what you want to do.
    <i>My intention is to read all the orgunits throught function module RH_STRUC_GET
    </i>
    The normal flow is that PERNR are rtrieved based on selection criterias. THats what the selection part of a report is for.
    THe field ORGEH is the field stored in IT0001, no structural evaluation. If you want to process all PERNR under one Orgunit reachable with path O-S-P simply use the Pushbuton on top of the screen. If it is not shown, use a different report class showing it.
    Have a look at e.g. PAR2 transaction.
    Regards,
    Michael

  • MDB messages dont get processed from Queues when involving a remote Topic in transaction

    Using WLS 6.1 SP4 on winXP Pro boxes, I have come across a peculiar problem:
              I have several MDBs that process ObjectMessages from queues and forward their payload (wrapped in another new ObjectMessage) to other queues, all of which are located within the same WLS server.
              Right now I'm adding a new MDB that gets messages from a remote Topic with a durable subscription, and forwards the payload to local queues after some processing.
              When the Topic is local as well, there is no problem. But when the Topic is set up in a remote machine, only the MDB that has the remote durable subscription works the way it should. It receives the remote message and forwards it to the corresponding local queue. But then the messages in those local queues dont get processed. The 'Messages Received' count rises and the 'Messages' count stays at 0, as if the messages had been correctly processed and acknowledged, but no onMessage() method is called besides the one from the MDB that has the durable subscription to the remote Topic (I can tell because there's no further processing from the queue those messages get put in). It's as if those messages were simply received and acknowledged without being passed to other MDBs by WLS.
              * All queue MDBs use Required container-managed transaction management and auto-acknowledge
              * All queue MDBs have default durability for their queue subscriptions
              * The topic MDB has a durable subscription stored in a filestore
              * Lookup of the remote Topic is done via JNDI
              Since the processing and forwarding of messages occurs the way it should when everything is local, I am inclined to believe one of two things:
              a) There's some issue with the way WLS treats messages (or even just payloads) when they come from a remote server
              b) WLS is doing something I'm not aware of when propagating a transaction that begins with the delivery of a message from a remote JMS Topic when it involves further forwarding of messages in local JMS Queues.
              Any help will be appreciated.
              regards,
              .munir estevane
              

    Is the durable subscriber forwarder rolling back its transactions?
              That would cause the behavior you describe (eg the message gets
              placed in the queue, but is never made visible). What do
              the pending counts on the destination queue look like?
              Munir Estevane wrote:
              > Using WLS 6.1 SP4 on winXP Pro boxes, I have come across a peculiar problem:
              >
              > I have several MDBs that process ObjectMessages from queues and forward their payload (wrapped in another new ObjectMessage) to other queues, all of which are located within the same WLS server.
              > Right now I'm adding a new MDB that gets messages from a remote Topic with a durable subscription, and forwards the payload to local queues after some processing.
              >
              > When the Topic is local as well, there is no problem. But when the Topic is set up in a remote machine, only the MDB that has the remote durable subscription works the way it should. It receives the remote message and forwards it to the corresponding local queue. But then the messages in those local queues dont get processed. The 'Messages Received' count rises and the 'Messages' count stays at 0, as if the messages had been correctly processed and acknowledged, but no onMessage() method is called besides the one from the MDB that has the durable subscription to the remote Topic (I can tell because there's no further processing from the queue those messages get put in). It's as if those messages were simply received and acknowledged without being passed to other MDBs by WLS.
              >
              > * All queue MDBs use Required container-managed transaction management and auto-acknowledge
              > * All queue MDBs have default durability for their queue subscriptions
              > * The topic MDB has a durable subscription stored in a filestore
              > * Lookup of the remote Topic is done via JNDI
              >
              > Since the processing and forwarding of messages occurs the way it should when everything is local, I am inclined to believe one of two things:
              > a) There's some issue with the way WLS treats messages (or even just payloads) when they come from a remote server
              > b) WLS is doing something I'm not aware of when propagating a transaction that begins with the delivery of a message from a remote JMS Topic when it involves further forwarding of messages in local JMS Queues.
              >
              > Any help will be appreciated.
              >
              > regards,
              > .munir estevane
              

  • Use GET PERNR without any screen default from Logical DB.

    Could anyone help me how to avoid using screen default from logical DB if using GET PERNR?

    Are u saying using this logic below  , im can avoid using GET PERNR?
    TABLES: RP50G,PERNR,PYORGSCREEN,PYTIMESCREEN.
    DATA: IN_RGDIR LIKE PC261 OCCURS 0 WITH HEADER LINE,
          WA_RT LIKE PC207 OCCURS 0 WITH HEADER LINE,
          SEQNR LIKE PC261-SEQNR,
          RESULT TYPE PAY99_RESULT.
    DATA: M_START LIKE SY-DATUM,
          M_END LIKE SY-DATUM.
    FORM GET_PAYROLL USING P_PERNR M_START M_END.
    *This FM help us to get the Sequence number used for the
    *employee on the payroll.
      CALL FUNCTION 'CU_READ_RGDIR'
           EXPORTING
                PERSNR          = P_PERNR
           TABLES
                IN_RGDIR        = IN_RGDIR
           EXCEPTIONS
                NO_RECORD_FOUND = 1
                OTHERS          = 2.
    *We read it using two dates, which corresponds to the month *we need
      READ TABLE IN_RGDIR WITH KEY FPBEG = M_START
                                   FPEND = M_END.
      SEQNR = IN_RGDIR-SEQNR.
    *This FM actually reads the payroll and get the information
    *we need.
      CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
           EXPORTING
                CLUSTERID                    = 'XX'
    *In CLUSTERID use the country of your choice
                EMPLOYEENUMBER               = P_PERNR
                SEQUENCENUMBER               = SEQNR
                READ_ONLY_INTERNATIONAL      = 'X'
           CHANGING
                PAYROLL_RESULT               = RESULT
           EXCEPTIONS
                ILLEGAL_ISOCODE_OR_CLUSTERID = 1
                ERROR_GENERATING_IMPORT      = 2
                IMPORT_MISMATCH_ERROR        = 3
                SUBPOOL_DIR_FULL             = 4
                NO_READ_AUTHORITY            = 5
                NO_RECORD_FOUND              = 6
                VERSIONS_DO_NOT_MATCH        = 7
                OTHERS                       = 8.
    *We just need to read the result table.
      LOOP AT RESULT-INTER-RT INTO WA_RT.
        CASE WA_RT-LGART.
          WHEN '9010'.
             MOVE WA_RT-BETRG TO T_ANYTABLE-SOMEPAY.
        ENDCASE.
      ENDLOOP.
    ENDFORM.

  • Custom Transaction Data getting Transfer from R/3 to APO only through CFM3

    Custom Transactional Data getting Transfer from R/3 to APO only through CFM3
    Requirement :Automatic updation of Custom Transactional Data R/3 to APO Auto Transfer like Normal PO Changes Reflection
         While working with Core Interface The Standard Transactional Data is getting updated to APO Directly for PO Qty Changes.
          But I have written code in the R/3 User Exit to Calculate the Open Target Quantity and Transfer the Values to APO through the Structure .
          It is Populating the values and updating in the ZTable of APO [User Exit] only when we activate and De-activate the Integration Model thru CFM3 Manually.
       Could you advise and provide the info for solution if you have come across the same scenario .
    Thanks in Advance.
    With Regards,
    Naveen Mutyapu.

    Hi All,
    I have not received answer from the forum, but solution is without CFM3 also we can able to send data from R/3 to APO whenever we change the PO with populating the necessary values  in the structure IT_OUTPUT_CUS..
    Regards,
    M N Kumar.
    Edited by: MNKumar on Sep 14, 2010 8:23 AM

  • How to get the Relationships data from Opportunity Transaction in CRM

    Hi Friends,
    Could you please let me know the table / class to fetch the relationships data associated with a single(main) opportunity.
    There may be several object types like (activites, sub-opp's..etc) linked to a single  main(source) opportunity.
    I wanted the these fields information from Relationships tab From Opp transaction.
    Source Item No.
    Object Type
    Target Trans/Object
    Description
    Type of Linkage
    Could you please let me know.
    Regards
    Vijay

    Hi Vijay,
    Can you try function module CRM_DOC_FLOW_READ_DB?
    By giving opportunity GUID it will return associated information.
    Kind regards,
    Garcia

  • Function module to get the database overview from DB02 Transaction

    Hi,
    I want to display the overview details from the transaction DB02. Is there any function module or any other method to do it. please help me.
    I have tried DB02_DB4_GET_INFO this function module but it is giving me only zeros but not any values. Please help me.
    Thanks,
    Sandeep.

    Hi
    It again depends on what is your DB server. As there are separate calls based on MSSQL, Oracle etc.
    For MSSQL use the FM's
    SMSS_GET_CONNECTION
    MSS_GET_DBSZHIST
    For Oracle use the FM's
    DB_ORA_TABLESPACE_HISTORY
    Regards
    Ranganath

  • Data retrival from standard transaction with in a report

    hi all,
    i have a requirement like i need to pass the selection screen selections  to a standard transaction ca80 and need to get the material list from there to my report for furthur processing. is it possible with bdc or a bapi for this.
    can anyone please help urgent its eating my brain. points awarded for solution
    thanks in advance
    anupama

    hi deep kammula,
    this is a sample code for your query just check. it may help you.
    all the best.
    reward me points if usefull.
    Sample HR Reports - Allocate Petrol Allowance
    Two ABAP HR Programs, which are interconnected, the first takes employee numbers which should not be given Petrol allowance and the other program gives the petrol allowance to employees.
    FIRST PRG
    REPORT  ZPETROL_EXCLUDE                         .
    TABLES SSCRFIELDS.
    SELECTION-SCREEN BEGIN OF SCREEN 100.
    SELECTION-SCREEN SKIP 9.
    PARAMETERS NUMBER(200) TYPE C.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN:
    BEGIN OF LINE,
      PUSHBUTTON 2(10) TEXT-001 USER-COMMAND PROC,
    END OF LINE.
    SELECTION-SCREEN END OF SCREEN 100.
    CALL SCREEN 100.
    AT SELECTION-SCREEN.
    CASE SSCRFIELDS.
    WHEN 'PROC'.
    SET PARAMETER ID: 'NUM' FIELD NUMBER.
    CALL TRANSACTION 'ZP_PALLOWANCE'.
    LEAVE TO SCREEN 0.
    ENDCASE.
    SECOND PRG
    REPORT  ZPR_PETROL_ALLOWANCE NO STANDARD PAGE
    HEADING                   .
    *-- Infotypes
    INFOTYPES : 0000, "Actions
                0002, "Personal Data
                0008. "Basic pay details
    *-- Tables
    TABLES : PERNR,   "Standard Selections for HR Master Data Reporting
             PC207,   "Payroll Results: Results Table
             PCL1,    "HR Cluster 1
             PCL2,    "HR Cluster 2
             T510,    "Pay scales
             T549A,   "Payroll areas
             T549Q,   "Payroll Periods
             PA0002.  "Personal details
    *-- Internal Tables
    *-- Internal Table Declaration For Holding The Data
    DATA: BEGIN OF INT_PETROL OCCURS 0,
            PERNR LIKE PA0008-PERNR,      "Personnel Number
            TRFST LIKE PA0008-TRFST,      "Pay Scale Level
            NAME(40),                     "Name of Employee
            PALLOWANCE TYPE P DECIMALS 2, "Petrol Allowance Amount
          END OF INT_PETROL.
    DATA: BEGIN OF PA0015_DATA OCCURS 0,
            PERNR LIKE PA0015-PERNR,
            BETRG LIKE PA0015-BETRG,
          END OF PA0015_DATA.
    DATA:BEGIN OF INT_PETROL2 OCCURS 0,
          PERNR LIKE PA0008-PERNR,      "Personnel Number
          VORNA LIKE PA0002-VORNA,      "First Name
          NACHN LIKE PA0002-NACHN,      "Last Name
          TRFST LIKE PA0008-TRFST,      "Pay Scale Level
          NAME(40),                     "Name of Employee
          PALLOWANCE TYPE P DECIMALS 2, "Petrol Allowance Amount
         END OF INT_PETROL2.
    DATA : TITLE TYPE LVC_TITLE.
    DATA:  BEGIN OF PER_NO OCCURS 0,
            PERNR LIKE PA0008-PERNR,
            TRFST LIKE PA0008-TRFST,
           END OF PER_NO.
    DATA: BEGIN OF MSG OCCURS 0,
          MSG1(100) TYPE C,
          END OF MSG.
    DATA: FLAG TYPE I VALUE '0',
          DIS_FLAG TYPE I VALUE '0'.
    DATA: INT_PETROL3 LIKE STANDARD TABLE OF INT_PETROL2 INITIAL SIZE 0
    WITH HEADER LINE.
    DATA: INT_PETROL1 LIKE STANDARD TABLE OF INT_PETROL INITIAL SIZE 0 WITH
    HEADER LINE.
    DATA: WA_PET_ALLOWANCE TYPE ZBPETROL_ALL.    "WORKAREA FOR INSERTING
    VALUES.
    *DATA: P_LGART1 LIKE T512T-LGART VALUE '0010'.  "CHANGE WAGE TYPE HERE
    DATA: P_LGART1 LIKE T512T-LGART VALUE '0077'.  "CHANGE WAGE TYPE HERE
    DATA: BEGIN OF INT_0015 OCCURS 0,
            PERNR(038),
            BEGDA(010),
            BETRG(018),
          END OF INT_0015.
    *--  Internal Table To Store Error Records.
    DATA: E_INT_0015 LIKE INT_0015 OCCURS 0 WITH HEADER LINE.
    *-- Batch Input Data of Single Transaction
    DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    *-- Internal Table For Export and Import Payroll Results
    DATA: INT_RGDIR LIKE PC261 OCCURS 0 WITH HEADER LINE,
          LGTXT LIKE T512T-LGTXT.
    DATA: BEGIN OF EMP_NO OCCURS 0,
            PERNR(4) TYPE C,
          END OF EMP_NO.
    DATA: BEGIN OF EMP_NO1 OCCURS 0,
            PERNR TYPE I,
          END OF EMP_NO1.
    DATA EMPNO LIKE STANDARD TABLE OF EMP_NO INITIAL SIZE 0.
    DATA EMPNO1 LIKE STANDARD TABLE OF EMP_NO1 INITIAL SIZE 0 WITH HEADER
    LINE.
    DATA LEN1 TYPE I.
    DATA: ERR  LIKE MESSAGE.
    DATA TEMP_NUM(200) TYPE C.
    *-- Includes
    *-- International Include
    INCLUDE RPC2CD09.  "Cluster CD data definition
    INCLUDE RPC2CA00.  "Cluster CA Data-Definition
    INCLUDE RPPPXD00.  "Data Definition buffer PCL1/PCL2 Buffer INCLUDE RPPPXD10.
    "Common part buffer PCL1/PCL2 INCLUDE RPPPXM00.  "Buffer Handling routine
    *-- Country Specific Include
    INCLUDE PC2RXIN0.  "Cluster IN data definition
    INCLUDE RPC2RX09.
    *-- ALV Declaration
    TYPE-POOLS : SLIS.
    DATA: INT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
          INT_EVENTS TYPE SLIS_T_EVENT,
          INT_LAYOUT TYPE SLIS_LAYOUT_ALV,
          WS_EVENTS TYPE SLIS_ALV_EVENT,
          WS_REPID LIKE SY-REPID.
    *-- Initialization
    INITIALIZATION.
      WS_REPID = SY-REPID.
    *-- At Selection-Screen
    START-OF-SELECTION.
      SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
      SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT 1(30) TEXT-002.
      SELECTION-SCREEN POSITION 33.
      PARAMETERS: P_RATE TYPE P DECIMALS 2.
      SELECTION-SCREEN END OF LINE.
      SELECTION-SCREEN END OF BLOCK B1.
      SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-003.
      SELECTION-SCREEN BEGIN OF BLOCK B3.
      PARAMETERS: P_UPLOAD AS CHECKBOX,
                  P_FG RADIOBUTTON GROUP G1,
                  P_BG RADIOBUTTON GROUP G1.
      SELECTION-SCREEN END OF BLOCK B3.
      SELECTION-SCREEN BEGIN OF BLOCK B4.
      PARAMETERS: P_DI AS CHECKBOX.
      SELECTION-SCREEN END OF BLOCK B4.
      SELECTION-SCREEN END OF BLOCK B2.
    AT SELECTION-SCREEN.
    *-- Wate Type Text
      SELECT SINGLE LGTXT INTO LGTXT FROM T512T WHERE SPRSL = 'E' AND
                                      MOLGA = '40' AND LGART = P_LGART1 .
    *-- Data Retrieval From Logical Database PNP
    GET PERNR.
      PROVIDE PERNR FROM P0000 VORNA NACHN FROM P0002 BETWEEN PN-BEGDA AND
    PN-ENDDA.
        INT_PETROL1-PERNR = P0000-PERNR.
        CONCATENATE P0002-VORNA P0002-NACHN INTO INT_PETROL1-NAME SEPARATED
    BY SPACE.
      ENDPROVIDE.
    *-- Clear Data
      CLEAR: RGDIR, INT_RGDIR.
      REFRESH: RGDIR, INT_RGDIR.
    *-- Read All The Payroll Runs For An Employee
      CD-KEY-PERNR = PERNR-PERNR.
      RP-IMP-C2-CU.
      CHECK RP-IMP-CD-SUBRC EQ 0.
    *-- Clear Data
      REFRESH: RT.
    Read IN Cluster.
      LOOP AT RGDIR WHERE FPBEG >= PN-BEGDA AND FPEND <= PN-ENDDA.
        MOVE-CORRESPONDING RGDIR TO INT_RGDIR.
        APPEND INT_RGDIR.
        CLEAR INT_RGDIR.
      ENDLOOP.
    Read the last record.
      SORT INT_RGDIR BY SEQNR DESCENDING.
      READ TABLE INT_RGDIR INDEX 1.
      RX-KEY-SEQNO = INT_RGDIR-SEQNR.
      RX-KEY-PERNR = PERNR-PERNR.
      RP-IMP-C2-IN.
      CHECK RP-IMP-IN-SUBRC EQ 0.
      READ TABLE RT WITH KEY LGART = P_LGART1.
      IF SY-SUBRC = 0.
        INT_PETROL1-PALLOWANCE = RT-BETRG.
      ENDIF.
      APPEND INT_PETROL1.
      CLEAR INT_PETROL1.
      SELECT TRFST PERNR
      INTO CORRESPONDING FIELDS OF TABLE PER_NO
      FROM PA0008
      WHERE TRFST LIKE 'L%'
      AND BET01 > 0.
      SORT PER_NO.
      DELETE ADJACENT DUPLICATES FROM PER_NO.
    *-- END-OF-SELECTION.
    END-OF-SELECTION.
      LOOP AT INT_PETROL1.
        READ TABLE PER_NO WITH KEY PERNR = INT_PETROL1-PERNR.
        IF SY-SUBRC = 0.
          INT_PETROL-TRFST = PER_NO-TRFST.
          MODIFY INT_PETROL1 FROM INT_PETROL TRANSPORTING TRFST.
        ENDIF.
      ENDLOOP.
      SORT INT_PETROL1.
      DELETE ADJACENT DUPLICATES FROM INT_PETROL1.
      CONCATENATE 'From'  '  :  ' PN-BEGDA6(2) '.' PN-BEGDA4(2) '.' PN-
    BEGDA+0(4)
      '   To' ' :  '  PN-ENDDA6(2) '.' PN-ENDDA4(2) '.' PN-ENDDA+0(4)
    INTO TITLE.
      IF P_DI = 'X'.    "TO DISPLAY PETROL ALLOWANCE ONLY
        IF PNPTIMRA = 'X'.      "CHECK OTHER PERIOD CHECKED
          DIS_FLAG = 1.
        ENDIF.
        IF PNPTIMR9 = 'X'.    "CHECK TO SEE CURRENT PERIOD SELECTED
    CASES - NO RATE GIVEN, RATE GIVEN
    CURRENT PERIOD UPLOADED BUT PAYROLL NOT WRITTEN SO NO RESULT FROM LDB
            SELECT RATE INTO P_RATE FROM ZBPETROL_ALL WHERE BEGDA = PN- BEGDA AND ENDDA = PN-ENDDA.
            ENDSELECT.
            IF SY-DBCNT = 0.
              MESSAGE I455(0) WITH 'NO PETROL RATE EXSISTS'.
            ELSE.
              FLAG = 1.
            ENDIF.  "OF SY-DBCNT
          IF P_RATE > 0 AND FLAG = 1. " PETROL RATE EXSISTS.
            SELECT PERNR SUM( BETRG ) INTO TABLE PA0015_DATA
            FROM PA0015
            WHERE BEGDA BETWEEN PN-BEGDA AND PN-ENDDA
            GROUP BY PERNR.
            SELECT APERNR ATRFST BVORNA BNACHN
            INTO CORRESPONDING FIELDS OF TABLE INT_PETROL3
            FROM PA0008 AS A
            INNER JOIN PA0002 AS B ON BPERNR = APERNR
            WHERE A~TRFST LIKE 'L%'
            AND A~BET01 > 0.
            SORT INT_PETROL3.
            DELETE ADJACENT DUPLICATES FROM INT_PETROL3.
            REFRESH INT_PETROL1.
            LOOP AT INT_PETROL3 INTO INT_PETROL2.    "loop to transport
    employee name
              CONCATENATE INT_PETROL2-VORNA INT_PETROL2-NACHN INTO
    INT_PETROL2-NAME SEPARATED BY SPACE.
              MODIFY INT_PETROL3 FROM INT_PETROL2 TRANSPORTING NAME.
            ENDLOOP.
            LOOP AT INT_PETROL3 INTO INT_PETROL2.    "loop to transport
    one
    table to another table
              READ TABLE PA0015_DATA WITH KEY PERNR = INT_PETROL2-PERNR.
              IF SY-SUBRC = 0.
                INT_PETROL-PERNR = INT_PETROL2-PERNR.
                INT_PETROL-TRFST = INT_PETROL2-TRFST.
                INT_PETROL-NAME = INT_PETROL2-NAME.
                INT_PETROL-PALLOWANCE = PA0015_DATA-BETRG.
                APPEND INT_PETROL TO INT_PETROL1.
              ENDIF.
            ENDLOOP.
            DIS_FLAG = 1.
          ENDIF.  "P_RATE > 0 AND FLAG = 1.
          IF P_RATE > 0 AND FLAG = 0.  "CURRENT PERIOD AND DATA NOT UPLOADED
            SELECT APERNR ATRFST BVORNA BNACHN
            INTO CORRESPONDING FIELDS OF TABLE INT_PETROL3
            FROM PA0008 AS A
            INNER JOIN PA0002 AS B ON BPERNR = APERNR
            WHERE A~TRFST LIKE 'L%'
            AND A~BET01 > 0.
            SORT INT_PETROL3.
            DELETE ADJACENT DUPLICATES FROM INT_PETROL3.
            REFRESH INT_PETROL1.
            LOOP AT INT_PETROL3 INTO INT_PETROL2.    "loop to transport
    employee name
              CONCATENATE INT_PETROL2-VORNA INT_PETROL2-NACHN INTO
    INT_PETROL2-NAME SEPARATED BY SPACE.
              MODIFY INT_PETROL3 FROM INT_PETROL2 TRANSPORTING NAME.
            ENDLOOP.
            PERFORM GET_VALUE.  "TO CONVERT THE FIRST SCREEN PERNR INTO
    NUMBER FORMATE
            LOOP AT INT_PETROL3 INTO INT_PETROL2.    "loop to transport
    one
    table to another table
              READ TABLE EMPNO1 WITH KEY PERNR = INT_PETROL2-PERNR.
              IF SY-SUBRC <> 0.
                INT_PETROL-PERNR = INT_PETROL2-PERNR.
                INT_PETROL-TRFST = INT_PETROL2-TRFST.
                INT_PETROL-NAME = INT_PETROL2-NAME.
                APPEND INT_PETROL TO INT_PETROL1.
              ENDIF.
            ENDLOOP.
            PERFORM CAL_ALLOWANCE.
          ENDIF.  " OF P_RATE > 0
          DIS_FLAG = 1.
        ENDIF.  " OF CURRENT PERIOD CHECK.
      ENDIF.  " OF CHECK DISPLAY.
    *----BDC
      IF P_UPLOAD = 'X'.
        IF PNPTIMRA = 'X'.      "CHECK OTHER PERIOD CHECKED
          MESSAGE I455(0) WITH 'Petrol Allowance cannot be uploaded'.
          LEAVE SCREEN.
        ENDIF.
        IF P_RATE > 0.
         IF P_RATE > 0 OR P_RATE = 0.
          IF PNPTIMR9 = 'X'.    "CHECK TO SEE CURRENT PERIOD SELECTED
            WA_PET_ALLOWANCE-BEGDA = PN-BEGDA.
            WA_PET_ALLOWANCE-ENDDA = PN-ENDDA.
            WA_PET_ALLOWANCE-RATE = P_RATE.
            WA_PET_ALLOWANCE-CURR = 'INR'.
            INSERT INTO ZBPETROL_ALL VALUES WA_PET_ALLOWANCE.
            SELECT A~PERNR A~TRFST B~VORNA B~NACHN
            INTO CORRESPONDING FIELDS OF TABLE INT_PETROL3
            FROM PA0008 AS A
            INNER JOIN PA0002 AS B ON B~PERNR = A~PERNR
            WHERE A~TRFST IN ('L1' , 'L2' , 'L3')
            AND A~BET01 > 0.
            SORT INT_PETROL3.
            DELETE ADJACENT DUPLICATES FROM INT_PETROL3.
            REFRESH INT_PETROL1.
            LOOP AT INT_PETROL3 INTO INT_PETROL2.    "loop to transport
    employee name
              CONCATENATE INT_PETROL2-VORNA INT_PETROL2-NACHN INTO
    INT_PETROL2-NAME SEPARATED BY SPACE.
              MODIFY INT_PETROL3 FROM INT_PETROL2 TRANSPORTING NAME.
            ENDLOOP.
            PERFORM GET_VALUE.  "TO CONVERT THE FIRST SCREEN PERNR INTO
    NUMBER FORMATE
            LOOP AT INT_PETROL3 INTO INT_PETROL2.    "loop to transport
    one
    table to another table
              READ TABLE EMPNO1 WITH KEY PERNR = INT_PETROL2-PERNR.
              IF SY-SUBRC <> 0.
                INT_PETROL-PERNR = INT_PETROL2-PERNR.
                INT_PETROL-TRFST = INT_PETROL2-TRFST.
                INT_PETROL-NAME = INT_PETROL2-NAME.
                APPEND INT_PETROL TO INT_PETROL1.
              ENDIF.
            ENDLOOP.
            PERFORM CAL_ALLOWANCE.
            DIS_FLAG = 1.
            SORT INT_PETROL1.
            LOOP AT INT_PETROL1.
              MOVE: INT_PETROL1-PERNR TO INT_0015-PERNR,
              INT_PETROL1-PALLOWANCE TO INT_0015-BETRG.
              CONCATENATE PN-ENDDA6(2) PN-ENDDA4(2) PN-ENDDA+0(4) INTO
    INT_0015-BEGDA SEPARATED BY '.'.
              APPEND INT_0015.
              CLEAR INT_0015.
            ENDLOOP.
            LOOP AT INT_0015.
              PERFORM F_BDCDATA.
              IF P_FG = 'X'.
                CALL TRANSACTION 'PA30' USING BDCDATA MODE 'A' UPDATE 'S'.
              ELSE.
                CALL TRANSACTION 'PA30' USING BDCDATA MODE 'N' UPDATE 'S'.
              ENDIF.
    *-- Handling Error records.
              IF SY-SUBRC <> 0.
    *-- Handling Error Messages
                PERFORM ERROR_MSG.
                MOVE-CORRESPONDING INT_0015 TO E_INT_0015.
                APPEND E_INT_0015.
                CLEAR E_INT_0015.
              ENDIF.
              REFRESH BDCDATA.
            ENDLOOP.
    *-- Downloading Error Records.
            CALL FUNCTION 'GUI_DOWNLOAD'
              EXPORTING
                FILENAME = 'C:\Errors.Txt'
                FILETYPE = 'ASC'
              TABLES
                DATA_TAB = E_INT_0015.
    *-- Downloading Error Messages.
            CALL FUNCTION 'GUI_DOWNLOAD'
              EXPORTING
                FILENAME = 'C:\Err_Msg.Txt'
                FILETYPE = 'ASC'
              TABLES
                DATA_TAB = MSG.
          ENDIF.  " FOR CURRENT PERIOD
      ENDIF.
        ELSE.
          MESSAGE I455(0) WITH 'Enter Petrol Rate'.
          LEAVE TO SCREEN 0.
        ENDIF.    " FOR PETROL RATE
      ENDIF.    " FOR UPLOAD
      IF DIS_FLAG = 1.
        INT_LAYOUT-SUBTOTALS_TEXT = TEXT-004.
        INT_LAYOUT-TOTALS_TEXT = TEXT-004.
        INT_LAYOUT-ZEBRA = 'X'.
        PERFORM FILL_FIELDCAT.
        PERFORM GET_EVENTS_ALV.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
            I_CALLBACK_PROGRAM = WS_REPID
            IS_LAYOUT          = INT_LAYOUT
            IT_FIELDCAT        = INT_FIELDCAT[]
            I_DEFAULT          = 'X'
            I_SAVE             = 'X'
            IT_EVENTS          = INT_EVENTS
          TABLES
            T_OUTTAB           = INT_PETROL1
          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.
      ENDIF.
    *&      Form  GET_VALUE
          text
    FORM GET_VALUE.
      GET PARAMETER ID: 'NUM' FIELD TEMP_NUM.
      IF TEMP_NUM <> ''.
        LEN1 = STRLEN( TEMP_NUM ).
        PERFORM GET_PERNR.
        APPEND TEMP_NUM TO EMPNO.
        LOOP AT EMPNO INTO EMP_NO.
          CALL FUNCTION 'CHECK_AND_CONVERT_NUMERICS'
          EXPORTING
        DFELD              = ' '
            DMZEI              = ','
            DTYPE              = 'STRING'
        DYPNO              = ' '
            EFELD              = EMP_NO-PERNR
        FNAME              = ' '
        PROGR              = ' '
        IMP_DECIMALS       = '0'
          IMPORTING
        ERROR              =
           IFELD              = EMP_NO1-PERNR
           MESSG              = ERR
        MSGLN              =
          IF ( ERR-MSGID = '' ).
            APPEND EMP_NO1 TO EMPNO1.
            CLEAR EMP_NO1-PERNR.
          ELSE.
            MESSAGE I455(0) WITH 'Could not convert employee number'.
            LEAVE TO SCREEN 0.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "GET_VALUE
    *&      Form  GET_PERNR
          text
    FORM GET_PERNR.
      SPLIT TEMP_NUM AT ',' INTO EMP_NO TEMP_NUM.
      APPEND EMP_NO TO EMPNO.
      CLEAR EMP_NO.
      SEARCH TEMP_NUM FOR ','.
      IF SY-SUBRC = 0.
        PERFORM GET_PERNR.
      ENDIF.
    ENDFORM.                    "GET_PERNR
    *&      Form  ERROR_MSG
          text
    -->  p1        text
    <--  p2        text
    FORM ERROR_MSG.
      IF SY-SUBRC <> 0.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            LANG = SY-LANGU
          IMPORTING
            MSG  = MSG-MSG1.
        APPEND MSG.
        CLEAR MSG.
      ENDIF.
    ENDFORM.                    "ERROR_MSG
    *&      Form  F_BDCDATA
          text
    FORM F_BDCDATA.
      PERFORM BDC_DYNPRO      USING 'SAPMP50A' '1000'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '=INS'.
      PERFORM BDC_FIELD       USING 'RP50G-PERNR'
                                    INT_0015-PERNR.
      PERFORM BDC_FIELD       USING 'RP50G-TIMR6'
                                    'X'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                    'RP50G-CHOIC'.
      PERFORM BDC_FIELD       USING 'RP50G-CHOIC'
                                    '0015'.
      PERFORM BDC_DYNPRO      USING 'MP001500' '2000'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                    'Q0015-BETRG'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM BDC_FIELD       USING 'P0015-LGART'
                                    '0077'.        "CHANGE WAGE TYPE HERE
    ALSO
      PERFORM BDC_FIELD       USING 'Q0015-BETRG'
                                    INT_0015-BETRG.
      PERFORM BDC_FIELD       USING 'P0015-WAERS'
                                    'INR'.
      PERFORM BDC_FIELD       USING 'P0015-BEGDA'
                                     INT_0015-BEGDA.
      PERFORM BDC_DYNPRO      USING 'MP001500' '2000'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                    'P0015-LGART'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '=UPD'.
      PERFORM BDC_FIELD       USING 'P0015-LGART'
                                    '0077'.       "CHANGE WAGE TYPE HERE
    ALSO
      PERFORM BDC_FIELD       USING 'Q0015-BETRG'
                                    INT_0015-BETRG.
      PERFORM BDC_FIELD       USING 'P0015-WAERS'
                                    'INR'.
      PERFORM BDC_FIELD       USING 'P0015-BEGDA'
                                    INT_0015-BEGDA.
    ENDFORM.                    "F_BDCDATA
    *&      Form  BDC_DYNPRO
          text
         -->P_0732   text
         -->P_0733   text
    FORM BDC_DYNPRO  USING    VALUE(P_0732) TYPE C
                              VALUE(P_0733) TYPE C.
      CLEAR BDCDATA.
      BDCDATA-PROGRAM  = P_0732.
      BDCDATA-DYNPRO   = P_0733.
      BDCDATA-DYNBEGIN = 'X'.
      APPEND BDCDATA.
    ENDFORM.                    " BDC_DYNPRO
    *&      Form  BDC_FIELD
          text
         -->P_0755   text
         -->P_0756   text
    FORM BDC_FIELD  USING    VALUE(P_0755) TYPE C
                             VALUE(P_0756) TYPE C.
      CLEAR BDCDATA.
      BDCDATA-FNAM = P_0755.
      BDCDATA-FVAL = P_0756.
      APPEND BDCDATA.
    ENDFORM.                    " BDC_FIELD
    *&      Form  CAL_ALLOWANCE
          text
    FORM CAL_ALLOWANCE.
      LOOP AT INT_PETROL1 INTO INT_PETROL.
        IF INT_PETROL-TRFST = 'L1'.
          INT_PETROL-PALLOWANCE = P_RATE * 100.   "CHANGE TO SELECT WHEN
    DISPLAY
        ELSEIF INT_PETROL-TRFST = 'L2'.
          INT_PETROL-PALLOWANCE = P_RATE * 150.
        ELSEIF INT_PETROL-TRFST = 'L3'.
          INT_PETROL-PALLOWANCE = P_RATE * 150.
        ELSEIF INT_PETROL-TRFST = 'L4'.
    INT_PETROL-PALLOWANCE = P_RATE * 200.
        ELSEIF INT_PETROL-TRFST = 'L5'.
    INT_PETROL-PALLOWANCE = P_RATE * 250.
        ENDIF.
        MODIFY INT_PETROL1 FROM INT_PETROL TRANSPORTING PALLOWANCE.
      ENDLOOP.
    ENDFORM.                    "CAL_ALLOWANCE
    *&      Form  FILL_FIELDCAT
          text
    -->  p1        text
    <--  p2        text
    FORM FILL_FIELDCAT.
      INT_FIELDCAT-COL_POS = 1.
      INT_FIELDCAT-TABNAME = 'INT_PETROL1'.
      INT_FIELDCAT-FIELDNAME = 'PERNR'.
      INT_FIELDCAT-SELTEXT_L = TEXT-005.
      INT_FIELDCAT-OUTPUTLEN = 10.
      INT_FIELDCAT-KEY = 'X'.
      APPEND INT_FIELDCAT.
      CLEAR INT_FIELDCAT.
      INT_FIELDCAT-COL_POS = 2.
      INT_FIELDCAT-TABNAME = 'INT_PETROL1'.
      INT_FIELDCAT-FIELDNAME = 'NAME'.
      INT_FIELDCAT-SELTEXT_L = TEXT-006.
      INT_FIELDCAT-OUTPUTLEN = 25.
      INT_FIELDCAT-KEY = 'X'.
      APPEND INT_FIELDCAT.
      CLEAR INT_FIELDCAT.
      INT_FIELDCAT-COL_POS = 3.
      INT_FIELDCAT-TABNAME = 'INT_PETROL1'.
      INT_FIELDCAT-FIELDNAME = 'TRFST'.
      INT_FIELDCAT-SELTEXT_L = TEXT-007.
      INT_FIELDCAT-OUTPUTLEN = 5.
      INT_FIELDCAT-KEY = 'X'.
      APPEND INT_FIELDCAT.
      CLEAR INT_FIELDCAT.
      INT_FIELDCAT-COL_POS = 4.
      INT_FIELDCAT-TABNAME = 'INT_PETROL1'.
      INT_FIELDCAT-FIELDNAME = 'PALLOWANCE'.
      INT_FIELDCAT-SELTEXT_L = TEXT-008.
      INT_FIELDCAT-OUTPUTLEN = 16.
      INT_FIELDCAT-KEY = 'X'.
      APPEND INT_FIELDCAT.
      CLEAR INT_FIELDCAT.
    ENDFORM.                    " FILL_FIELDCAT
    *&      Form  GET_EVENTS_ALV
          text
    -->  p1        text
    <--  p2        text
    FORM GET_EVENTS_ALV.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE     = 1
        IMPORTING
          ET_EVENTS       = INT_EVENTS[]
        EXCEPTIONS
          LIST_TYPE_WRONG = 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.
      READ TABLE INT_EVENTS INTO WS_EVENTS WITH KEY NAME =
    SLIS_EV_TOP_OF_PAGE.
      IF SY-SUBRC = 0.
        WS_EVENTS-FORM = 'TOP'.
        MODIFY INT_EVENTS FROM WS_EVENTS INDEX SY-TABIX.
      ENDIF.
    ENDFORM.                    " GET_EVENTS_ALV
    *&      Form  TOP-OF-PAGE
          text
    FORM TOP.
    *-- ALV Declarations
      DATA: WS_HEADER TYPE SLIS_T_LISTHEADER,
            WA_HEADER TYPE SLIS_LISTHEADER.
    *-- Title
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = TEXT-009.
      APPEND WA_HEADER TO WS_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = TITLE.
      APPEND WA_HEADER TO WS_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = ' '.
      APPEND WA_HEADER TO WS_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = ' '.
      APPEND WA_HEADER TO WS_HEADER.
      CLEAR WA_HEADER.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = WS_HEADER
          I_LOGO             = 'LOGO'.
    ENDFORM.                    "TOP-OF-PAGE
    regards
    karthik
    Edited by: KARTIKEYA (EDS-VZG) on May 5, 2008 1:41 PM

Maybe you are looking for

  • Can't use home sharing

    unable to to use home sharing with other computers.

  • Error while installing 10 g database in windows vista

    Hi all, While trying to install oracle 10 g database in my laptop , i m getting error in the pre-requisite step itself. i am getting the below mentioned error. Checking Network Configuration requirements ... Check complete. The overall result of this

  • How to use own created STYLE at SMART FORM

    Hi all, i am making a smart forms in which i want to use my own created STYLE even tough i already copied my style from the existing one and activate it it but when i m going to use it at SMART FROM,it give me  SMART FROM default style.i can't unders

  • Is it possible to convert LabView data into OLE variant?

    Hi. I'm using Activex Data Objects (ADO) to communicate with MySQL. Some ActiveX methods give OLE variant output, with "Variant Type" like "VT_ARRAY|VT_UI1", "VT_UI1" or "VT_BSTR". With some deduction and trial and error is relatively simple to extra

  • I am studying abroad in Chile, and my hardware is failing on me.

    Specifically, there are red lines across the screen. I know it's either the logic board or graphics card because I just had my logic board and other parts replaced last November 2013 when this same thing happened. I have no idea what to do seeing as