Std idoc matmas05 details in SAP

Hi, How to see the details (logic etc) in R/3 System for standard idoc MATMAS05 to prepare a FS to interface with external system. Please advise what should i mention in FS in this regard. thank you.

for this IDoc, check all the Mandatory Fields & Mandatory Structures.
In your FS write the logic for Mandatory fields & structures & give it to Technical person for pick & fill data in Mandatory fields first.
At second step, check which optional fields you need to fill, give the logic for these fields also.

Similar Messages

  • SOAP to IDocs Scenario...IDocs getting locked at SAP

    Dear Experts
    We are sending measuring point details to SAP system from 3rd Party. Scenario is working fine for small amount of load. If more number of messages triggered (say 100) IDocs at SAP are getting stuck u201CMeasPoint 10000211 currently locked -> document processing not possibleu201D.
    I tried configuring Sender SOAP adapter as EOIO and specified the Queue name as Test Queue. Still IDocs are getting stuck at SAP ECC. Now one more issues messages are getting stuck in queue SMQ2. We can control the flow by using BPM in PI. I donu2019t want to use BPM for this. Can we control this from SAP or using Trigger by background program in Partner profiles?
    Please suggest. Thank You.
    SAP Error Details:-MeasPoint 10000211 currently locked -> document processing not possible
    Message no. IR007
    Diagnosis
    The object you want to access is locked, either
    u2022     By yourself in another session, or
    u2022     By another user
    u2022     or by the system, which is still processing data for this object
    System Response
    The system cannot access the object.
    Procedure
    u2022     If you are locking the object yourself in another session, exit processing in the other session and continue processing in this session.
    u2022     If the object is locked by another user, you can
    o     contact the other user
    o     wait until the other user has finished processing the object
    u2022     If the object is locked because the system is still processing its data, wait a while, and then call up the object again.

    1. Create a new process code "Z" and check the enque state of the objects before passing back to standard processing modules. Id also change to process immediate as part of this change
    or
    2. I think assuming RBDAPP01 is still used you may be able to make use of an exit there to do the same thing .. check and wait before processing.
    or
    3. In message mapping place a UDF that has some kind of wait timer in it (this is random and wont always work cause you wont know when the lock is dropped) but should work.
    or
    4. Dont use IDOC's create an abap proxy to do the work as a sync process. Processing will need to finish in the proxy and return to the PI stack before the next message is processed in the EOIO queue - this would be the prefered option as far as im concerned, it guarenteed to work and as long as your proxy sticks to the standard rouintes it should be upgrade friendly.
    or
    5. Use a proxy as above but dont do any processing, just use the proxy to build the IDOC and post it - then check the status of the locks until you are ready then rinse and repeat ..... but like scratching your right ear with your left hand .. but it will work.

  • How to Use IDOC and ALE in SAP?

    Hi anybody,
                     I want Use Idoc and ALE in sap ABAP. What is inbound and outbout process of IDOC?
    Please give me sample code for Idoc . and Sample code for ALE.
    anybody Please tell me.
    Thanks
    Regards,
    S.Muthu.
    IT Dept.

    hi,
    Follow the link for step by step ALE/IDOC tutorials.
    http://www.sapmaterial.com/idoc_sample.html
    http://www.****************/Tutorials/ALE/ALEMainPage.htm
    An IDoc is not a process.
    The term IDoc stands for intermediate document. It is simply a data container used to exchange information between any two processes that can understand the syntax and semantics of the data. An IDoc is created as a result of executing an outbound ALE or EDI process. In an inbound ALE or EDI process, an IDoc serves as input to create an application document.
    IDocs are stored in the database.
    In the SAP system, they are stored in database tables. Several utilities are available to display the information contained in an IDoc and present it in different ways. For details, refer to Chapter 11, "Monitoring the Interface."
    Every IDoc has a unique number.
    When an IDoc is generated in the system, a unique number is assigned to it. This number is unique within a client.
    IDocs are independent of the sending and receiving systems. They can be used for SAP-to-SAP and SAP to non-SAP process communication as long as the participating processes can understand the syntax and semantics of the data.
    IDocs are based on EDI standards, ANSI ASC X12 and EDIFACT, but are closer to the EDIFACT standards. The size and format of data elements in an IDoc type are derived from these standards wherever applicable. For example, if a material number is represented by 20 characters in an EDIFACT message, the corresponding data element in the IDoc is also 20 characters. If there is a conflict in data size between standards, the one with greater length is adopted. This approach ensures compatibility with most standards.
    IDocs are independent of the direction of data exchange. An inbound and an outbound process can use an IDoc. For example, the ORDERS01 IDoc is used by the Purchasing module to send a purchase order, and is also used by the Sales and Distribution module to accept a sales order. Using this technique avoids creating redundant IDoc types for the same information.
    IDocs can be viewed in a text editor and do not contain any binary data. Data is stored in character format. When transferred to the operating system, an IDoc is stored in a file in text format and can be viewed using a regular text editor. However, the contents make sense only if you understand the structure and format of the data in that IDoc. In the Appendix, "FAQs, User Exits, and Miscellaneous Resources," you will find an example of an IDoc file.
    Hope this helps, Do reward.
    Edited by: Runal Singh on Mar 5, 2008 6:09 PM

  • Can anyone give the details of SAP note 325525 .

    Hai
    Can anyone give the details of SAP note 325525 .
    Thanks
    Kumar

    What exactly do you want. Is that just the explanation in the note: If so, here it is.
    Summary
    Symptom
    WARNING: THIS NOTE HAS BEEN REPLACED.  FOR MORE CURRENT AND MORE COMPREHENSIVE INFORMATION SEE NEW NOTE 886102.
    You want to copy and or rename one or more systems (database or client copy). One or more of the systems is a BW system or is connected to a BW system.
    Caution: This note only deals with problems that occur in the BW source system connections. Other problems that occur in the BW environment (indexes) are NOT dealt with. See URL http://www.service.sap.com/bw --> Services & Implementation --> System copy & Migration.
    Other terms
    BW, source system, OLTP, database copy, client copy, system infrastructure, transport system, connections, RFC connection, trfc, transfer structure, IDoc, ALE customizing, logical system name, system changeability, renaming systems, system copy
    Solution
    Several scenarios are possible in this environment. Find the scenario relevant to your situation below and execute the steps listed or read the note(s) specified:
    Scenario 1) You do not want to copy a system but only want to rename one (changing a logical system name).
               Solution scenario 1): Execute Transaction BDLS both in the client to be renamed and in the connected BWs or BW source systems. To do this, see Notes 121163 and 369758.
               Check the RFC destinations in all connected BWs/BW source systems as described in Note 524554.
               Reactivate all partner agreements that carry the new logical system name after renaming.
    Scenario 2) You want to copy the entire system infrastructure connected by the BW source system connections (that means the entire system group) by a database copy. SAP recommends this procedure for copying systems.
               Solution scenario 2):
    If you want to rename one or more of the copied systems, then execute Transaction BDLS both in the client you wish to rename and in all the connected BW and BW source systems. See Note 121163.
                        Make sure that an RFC destination exists with the new logical name in every connected BW or BW source system.
                        Reactivate all partner agreements that carry the new logical system name after renaming.
    Change the hosts in the appropriate RFC destinations so that they refer to the correct computer. For this, see Note 524554.
    Scenario 3) You want to copy a single BW system of the group by database copy.
    Scenario 3)a) You only want to exchange the hardware of your system but do not want to rename the system.
                         Solution scenario 3)a): You do not need to execute follow-up work regarding the system connections, except for adjusting the IP address in the RFC destinations of the connected system.
    Scenario 3)b) You want to keep the original system of the copy so that you have two systems after copying.
                         Solution scenario 3)b): See Note 184754.
    Scenario 4) You want to copy a single source system of the group by database copy.
    Scenario 4)a) You only want to exchange the hardware of your system but do not want to rename the system.
                         Solution scenario 4)a): You do not need to execute follow-up work regarding the system connections, except for adjusting the IP address in the RFC destinations of the connected system.
    Scenario 4)b) You want to keep the original system of the copy so that you have two systems after copying.
               Solution scenario 4)b): See Note 184322.
    Scenario 5) You want to import a client copy in a source system.
               Solution scenario 5): See Note 325470.

  • Change Details to SAP

    Hello Experts,
    We are impoting PLM Details to SAP from Agile through WeMethod via Idoc.
    We are impoting Datas like Materials Details, Manufacturer part number, BOM Etc.
    But i dont know to import change details (Change log of Agile like change history, change approver, Who has did the change, Change Date etc) to SAP from Agile.
    Please let me know what type of idoc are used with idoc message type.
    If you provide full details , your are appriciated..
    Thanks in Advance
    Prashanth.V

    thanks

  • Send/Receive IDOCs (XML) from/to SAP R/3 with XI-SOAP without XI!

    Dear SAP specialists,
    (BACKGROUND) We are using the Microsoft BizTalk Adapter for SAP 1.0, developed on top of the SAP DCOM Connector (we are using the version 6.20 Patch Nr. 177), with Microsoft BizTalk Server 2002 SP1 in order to send and receive IDOC via the tRFC transport protocol. We are using the Microsoft BizTalk Adapter for SAP 1.0 since February 2002, and today we are exchanging more than 25,000 IDOC/day with this architecture.
    When we migrate our SAP R/3 system to the version 4.7 with WAS 6.20, I was very enthusiastic about the possibility of sending the IDOC in XML via the standard HTTP transport protocol, because it would considerably simplify my architecture, i.e. no need of any (expensive) adapter any more! But, I had to realise that the quality of service exactly once will not be there anymore with HTTP as it exists with tRFC. Then, we carry on using the tRFC transport protocol with the adapter.
    (QUESTION) But recently, I followed the SAP Course TBIT40 XI Foundations and I learn that:
    1.     On one hand, the XI-SOAP protocol supports the quality of service exactly once by the usage of a message GUID within the XI-SOAP envelope;
    2.     On the other hand, all mySAP solutions using WAS 6.20 (or higher) carry a “small” Integration Engine (with XI-SOAP as the “native” transport protocol).
    Then, my question is: << Is it possible to exchange IDOC (XML) directly with an SAP R/3 4.7 (WAS 6.20) via the XI-SOAP transport protocol using the “small” Integration Engine embedded into it, with the quality of service exactly once? >>
    Many thanks in advance and best regards,
    Patrice Krakow

    Hello Patrice
    We have same issue. Is it possible to use IDoc (XML) directly with SAP 5.0 with SOAP (HTTP) without XI?
    Since your que is three years old, I'm sure you must have found some method for this.
    We'll highly appreciate your help.
    Regards: Gaurave

  • Course WUS581 - Technical Details of SAP CRM Web UI

    I had the opportunity to attend 'WUS581 - Technical Details of SAP CRM Web UI' last month in Atlanta.  I understand it to have been the first time the course was offered in the US. 
    The course was great - here's a link to the official [description|https://training.sap.com/ca/en/course/wus581-wus581-tech-details-of-sap-crm-web-ui-classroom-095-us-en/] . I believe this was an adaptation of the material from the Deep Dive Series. I have to say, that it was pretty fast paced as well - you really need to keep up as much of the material built upon what was already taught. 
    The materials from the class are invaluable.  The labs were well done, and offered detailed solutions.  The labs were numerous, appropriate, and clean.  Most of the twenty exercises were cumulative.  I have since gone back to review some of the concepts, and the material stands well even outside of the classroom.
    This course has given me a much better understanding of the bigger picture.  While I have not come from a CRM or BSP background, I have been working with webUI on a CRM 7.0 based SAP Custom Development Solution, [Fund Raising Management|http://www.sap.com/services/portfolio/customdev/brochures/index.epx] for about half a year.  So, I had at least been exposed to the workbench and some concepts over the previous six months.  This course really helped me tie some things together.
    I just wanted to share my experience with the group...
    ...Mike

    Mike,
    I'm curious to find out how did you find out that the course you took was scheduled. The reason why I'm asking is that I didn't even know that SAP even offered the course in the US, so I would have tried to attend myself if I found out about in advance.
    Glad to see you recommended the course.  There isn't going to be much CRM related technical content at SAP Teched in Las Vegas this year,  however there may be at least one session attending (wink-wink), that's not listed yet.  I would still recommend that CRM development folks still attend teched, because there is plenty of great technical content that we can use regardless.
    Take care,
    Stephen

  • IDOC-- XI-- HTTP (non-sap) 403 Forbidden

    Hi guys,
    When I execute my scenario IDOC>XI>HTTP (non-sap) URL address Asynchr. The receiver receives the message correctly
    but in my XI monitoring the message stands in error mode.
    At first sight this is not a big problem because the receiver receives the message correctly
    but it would be nice if the message would stand in processed succesfully.
    The error:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30"
    xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_SERVER</SAP:Code>
      <SAP:P1>403</SAP:P1>
      <SAP:P2>Forbidden</SAP:P2>
      <SAP:P3>Service Error</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Http server code 403 reason Forbidden explanation Service Error</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Please don't redirect me to an old topic because I have  read all topics and none of them could help me. :s
    TIA
    Message was edited by: Peter Delve

    Hi,
    this is the describtion of W3ORG:
    The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information available to the client, the status code 404 (Not Found) can be used instead.
    May contact web admin.
    Regards
    Matt

  • MATMAS01 IDOC not reaching to SAP XI via report program.

    Dear Experts,
    WE are facing small challenge.
    I searched on SDN on scenarios: IDOC not reaching to SAP XI. But could not find exact solution t oour scenario.
    Problem:
    MATMAS01 IDOC is not reaching to SAP XI via report program and is in status of 03 on SAP system. And there are not entries under SM58.
    Under SAP XI system IDOC entry is not reflecting under IDX5 transaction, I tried to delete meta data of MATMAS01 thru IDX1 and uploaded again but still IDOC is not reaching to SAP XI.
    The strange is that MATMS01 IDOC is reaching to XI via WE19 test tool. So PORT and RFC destination settings betweeen R3 and XI is also correct.
    What could be the wrong ?
    Thanks
    Divyesh

    When sending Idoc from R/3,
    Settings at R/3
    create one port at WE21,
    Create Partner Profile for Outbound Message type in WE20.
    settings at XI
    Create one port in IDX1
    Import Matadata in IDX2.
    Create complete scenario in ESR for Idoc sender, also import IDoc in Imported Objects.
    Check these settings & send test idoc using WE19.

  • How to convert IDoc-XML to native Idoc-File with in SAP XI/PI

    Hello,
    I have a problem to Create an native IDoc-Format for an File-Receiver.
    The scenario:
    I get an Idoc (ZMATMAS) from a SAP System to an MATMAS-exchange-scenario. One of the non-SAP-receiver-systems needs an other native IDoc-Format as File. So I have to map the ZMATMAS to the receiver Format and write this as File. The problem is, that this file contains the data as IDoc-XML and not as native IDoc-format.
    Has anybody an idea for this problem?

    U need to use sender idoc adapter and file receiver adapter.
    U can do file content conversion at receiver end.
    Content Conversion is basically to convert a text file that contains complex structures into an XML source format and vice versa. It is present only in the File Adapter because it is one of the message protocol which will convert the structure to a desired format.
    There are many blogs for File Content Conversion. Some of them are listed hereunder:-
    Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
    Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
    How to send a flat file with various field lengths and variable substructures to XI 3.0
    Content Conversion (Pattern/Random content in input file)
    NAB the TAB (File Adapter)
    File Content Conversion for Unequal Number of Columns
    Content Conversion ( The Key Field Problem )
    The specified item was not found.
    You may also check the FCC documentation for Sender and Receiver:-
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm

  • Flat file to idoc MATMAS05 - mapping

    Hi,
    I want to create 2 Idocs from one recordset.
    Can any one tell me how do I map this Recordset to an Idoc?
    Example source and target IDOC structures:
    Source:-
       <Recordset>
          <SA010>
             <IDENTS>1234</IDENTS>
             <BEZ>Dummytxt</BEZ>
          </SA010>
          <SA088>
             <IDENTS>1234</IDENTS>
             <MARC1>010</ MARC1>
             <MARC2>020</MARC2>
          </SA088>
       </Recordset>
    Target:-
        <MATMAS05>
             <IDOC BEGIN="1">
                <E1MARAM SEGMENT="1">
                   <MATNR>1234</MATNR>
                   <E1MARCM SEGMENT="2">
                      <WERKS>010</WERKS>
                   </E1MARCM>
                </E1MARAM>
             </IDOC>
          </MATMAS05>
        <MATMAS05>
             <IDOC BEGIN="1">
                <E1MARAM SEGMENT="1">
                   <MATNR>1234</MATNR>
                   <E1MARCM SEGMENT="2">
                      <WERKS>020</WERKS>
                   </E1MARCM>
                </E1MARAM>
             </IDOC>
          </MATMAS05>
    Thanks and Regards,
    Eren

    Hello Varun,
    My flat structure:
    <Recordset>
    <b><SA010></b>
    <i><IDENTS>1234</IDENTS>
    <BEZ>Dummytxt</BEZ></i>
    <b></SA010></b>
    <b><SA088></b>
    <IDENTS>1234</IDENTS>
    <i><MARC1>010<>
    <MARC2>020</MARC2></i>
    <b></SA088></b>
    </Recordset>
    The MATNR field is <IDENTS>. I can pick the value from node <SA010> or <SA088>.
    Thanks

  • Customer Hierarchy details in SAP ERP BP transaction

    Dear All,
    Currently we are using BP transaction in SAP ERP and also using customer hierarchy transaction VDH1N.
    Now the problem is we cannot see customer hierarchy in BP transaction, we have any option that we can create relationship in the BP transaction, however its a double effort.  Is there any option that we can see the Customer Hierarchy details in SAP ERP BP transaction?
    Regards,
    Murali

    Hello Murali,
    With BP transaction, do you mean business partners in XD03 / VD03?
    >> we cannot see customer hierarchy in BP transaction
    No, you can't see the customer hierarchy in XD03. That's correct.
    In XD03 you have sold-to, payers, bill-to and ship-to.
    You also have hierarchy nodes (012).
    In my opinion, the customer hierarchy should only have relations between hierarchy nodes and sold-to(s).
    Therefore these are different information segments => No need to see the hierarchy from the BP transaction.
    Hint: Maybe that is the reason why the functionality is not available in the standard system!

  • Employee details in SAP ABAP Hr

    hi folks,
    do any one hav done Report -Employee details in SAP ABAP Hr.

    check this code
    *                        INFOTYPES                             *
    INFOTYPES : 0000,     " Actions
                0001,     " Organizaiton Assignment
                0002,     " Personnel Data
                0008,     " Basic Pay
                0022,     " Education
                0025,     " Appraisals
                0077,     " Additional Personal Data
                2001,     " Absences
                9002,     " Additional Personal Data
                9545,     " Discipline data
                0000 NAME INT_PROM,
                0000 NAME INT_CHGPY,
                0302.
    *                        INCLUDES                             *
    *                        TABLES                                *
    TABLES    : PERNR.
    *                        CONSTANTS                             *
    CONSTANTS : C_ONE      TYPE CHAR1  VALUE '1',
                C_EARLY    TYPE CHAR1  VALUE 'E',
                C_NEW      TYPE CHAR1  VALUE 'N',
                C_EARLYDT  TYPE SY-DATUM VALUE '20000501',
                C_JAN      TYPE CHAR2  VALUE '01',
                C_FEB      TYPE CHAR2  VALUE '02',
                C_MAR      TYPE CHAR2  VALUE '03',
                C_AWL      TYPE CHAR3  VALUE 'AWL',
                C_LWP      TYPE CHAR3  VALUE 'LWP'.
    *                        TYPES                                 *
    TYPE-POOLS: SLIS.                      " ALV Type Pool
    TYPES  :
             BEGIN OF T_DISCACT,
               PERNR  TYPE CHAR8,
               COMM1  TYPE CHAR1,
               DESCRI TYPE CHAR40,
               COMM2  TYPE CHAR1,
               MDATE  TYPE CHAR10,
             END OF T_DISCACT,
             BEGIN OF T_INCRE,
               PERNR  TYPE CHAR8,
               INCR1 TYPE CHAR10,
               INCR2 TYPE CHAR10,
               INCR3 TYPE CHAR10,
             END OF T_INCRE,
             BEGIN OF T_OUTPUT,
               PERNR TYPE CHAR8,
               NAME  TYPE CHAR40,
               DESIG TYPE CHAR40,
               PESUB TYPE CHAR15,
               ORGUN TYPE CHAR40,
               COSTC TYPE CHAR20,
               ETHIC TYPE CHAR2,
               CPCODE TYPE ZCCODE,
               GRADE TYPE CHAR8,
               ***   TYPE CHAR6,
               DOB   TYPE CHAR10,
               DOJ   TYPE CHAR10,
               QUAL1 TYPE CHAR30,
               QUAL2 TYPE CHAR30,
               QUAL3 TYPE CHAR30,
               QUAL4 TYPE CHAR30,
               QUAL5 TYPE CHAR30,
               LPROM TYPE CHAR10,
               PROMD TYPE CHAR10,
               PROMT TYPE CHAR1,
               NOYRS TYPE CHAR2,
               AWL   TYPE CHAR9,
               LWP   TYPE CHAR9,
               APPR1 TYPE CHAR9,
               APPR2 TYPE CHAR9,
               APPR3 TYPE CHAR9,
               APPR4 TYPE CHAR9,
               APPR5 TYPE CHAR9,
               DISCI TYPE CHAR57,
             END   OF T_OUTPUT.
    DATA : W_OUTPUT TYPE T_OUTPUT.
    TYPES  :  BEGIN OF T_FILE.
            INCLUDE STRUCTURE W_OUTPUT.
    TYPES  :   INCR1 TYPE CHAR10,
               INCR2 TYPE CHAR10,
               INCR3 TYPE CHAR10,
              END OF T_FILE.
    DATA  : W_FILE TYPE T_FILE.
    TYPES : BEGIN  OF T_EXCEL.
            INCLUDE STRUCTURE W_FILE.
    TYPES :  END OF T_EXCEL.
    *                        INTERNAL TABLES                       *
    DATA   : INT_NONEXE  TYPE STANDARD TABLE OF ZHRT007   WITH HEADER LINE,
             INT_OUTPUT  TYPE STANDARD TABLE OF T_OUTPUT  WITH HEADER LINE,
             INT_DISCACT TYPE STANDARD TABLE OF T_DISCACT WITH HEADER LINE,
             INT_QUALFI  TYPE STANDARD TABLE OF T518B     WITH HEADER LINE,
             INT_INCRE   TYPE STANDARD TABLE OF T_INCRE   WITH HEADER LINE,
             INT_DISCIP  TYPE STANDARD TABLE OF ZHRT004   WITH HEADER LINE,
             INT_PESUB   TYPE STANDARD TABLE OF T001P     WITH HEADER LINE,
             INT_COSTC   TYPE STANDARD TABLE OF CSKT      WITH HEADER LINE,
             INT_EXCEL   TYPE STANDARD TABLE OF T_EXCEL   WITH HEADER LINE,
             EVENT       TYPE SLIS_T_EVENT WITH HEADER LINE,
             LISTHEAD    TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
    *                        VARIABLES                             *
    DATA : W_HIREDATE TYPE BEGDA,
           W_WAGEGRP  TYPE TRFGR,
           W_CPCODE   TYPE ZCCODE,
           W_CAREERCD TYPE CHAR6,
           W_PROMTYPE TYPE ZTSTYPE,
           W_NOOFYRS  TYPE ZNOYRS,
           W_LASTPROM TYPE CHAR10,
           W_PROMDATE TYPE BEGDA,
           W_YEAR     TYPE CHAR4,
           W_APYEAR   TYPE CHAR4,
           W_APPRST   TYPE SY-DATUM,
           W_DISDATE  TYPE ENDDA,
           W_APPREND  TYPE ENDDA,
           W_ABSST    TYPE ENDDA,
           W_ABSEND   TYPE ENDDA,
           W_ABSYR    TYPE CHAR4,
           W_MONTH(2) TYPE N,
           W_AWL      TYPE CHAR9,
           W_LWP      TYPE CHAR9,
           W_DISCI    TYPE T_OUTPUT-DISCI,
           W_ONE(2)   TYPE N VALUE '01',
           W_CURDATE TYPE CHAR10,
           W_HEADING TYPE LVC_TITLE.
    *                        SELECTION SCREEN                      *
    SELECTION-SCREEN BEGIN OF BLOCK FRM1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS:
      S_WAGRP    FOR  P0008-TRFGR OBLIGATORY,
      S_FROM     FOR  P0000-BEGDA OBLIGATORY NO-EXTENSION.
    SELECTION-SCREEN END OF BLOCK FRM1.
    * Selection screen serach help for wage groups.
    INCLUDE : ZHRI0003.
    *                        AT SELECTION SCREEN                   *
    *                        START OF SELECTION                    *
    START-OF-SELECTION.
      PERFORM PU_EXEUTIVES_PROM.
      IF S_FROM-HIGH IS INITIAL.
        S_FROM-HIGH = SY-DATUM.
      ENDIF.
    *Fetching employee data for all infotypes.
    GET PERNR.
      PERFORM  PU_DATA_RETRIEVAL.
    *                        START OF SELECTION                    *
    END-OF-SELECTION.
      PERFORM PU_FINAL_TABLE.
      PERFORM PU_GRID_DISPLAY.
      PERFORM PU_FREE_TABLES.
    *                        SUBROUTINES                           *
    *&      Form  PU_DATA_RETRIEVAL
    FORM PU_DATA_RETRIEVAL .
    * To find out date of join for employee
      PERFORM PU_DATA_OF_JOIN.
    * Employee Personnel data
      RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND NE C_ONE.
        REJECT.
      ENDIF.
    * Employee Name into output table
      INT_OUTPUT-NAME = P0002-VORNA.
    *  INT_OUTPUT-DOB  = P0002-GBDAT.
      PERFORM PU_DATE_CONVERSION USING    P0002-GBDAT
                                 CHANGING INT_OUTPUT-DOB.
      IF P0002-GESCH EQ 1.
        INT_OUTPUT-***  = 'Male'.
      ELSE.
        INT_OUTPUT-***  = 'Female'.
      ENDIF.
    * Fetching employees from employee sub goup of Non Executive
      RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND NE C_ONE.
        REJECT.
      ENDIF.
      IF P0001-PERSK  EQ '30' OR P0001-PERSK  EQ '20'.
    * Position for employee into output table
        PERFORM  PU_POSTION_TEXT.
      ELSE.
        REJECT.
      ENDIF.
    * Position for employee into output table
      PERFORM  PU_POSTION_TEXT.
    * Persoonel Sub Area text .
      READ TABLE INT_PESUB WITH KEY WERKS = P0001-WERKS
                                    BTRTL = P0001-BTRTL.
      IF SY-SUBRC EQ 0.
        INT_OUTPUT-PESUB = INT_PESUB-BTEXT.
      ENDIF.
      READ TABLE INT_COSTC WITH KEY KOSTL = P0001-KOSTL.
      IF SY-SUBRC EQ 0.
        INT_OUTPUT-COSTC = INT_COSTC-KTEXT.
      ENDIF.
    * Fetching employees from Additional Personal Data
      RP_PROVIDE_FROM_LAST P0077 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ C_ONE.
    * Ethnic origin of employee  into output table
        INT_OUTPUT-ETHIC = P0077-RACKY.
      ENDIF.
    * Selecting data from  basic pay last record with wage group
      RP_PROVIDE_FROM_LAST P0008 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND NE C_ONE.
        REJECT.
      ELSE.
        W_WAGEGRP = P0008-TRFGR.
    * Employee Pay Scale Group  into output table
        INT_OUTPUT-GRADE = P0008-TRFGR.
      ENDIF.
    * Selecting data from  Education with wage group
      SORT P0022 BY BEGDA.
      PROVIDE * FROM P0022 BETWEEN PN-BEGDA AND PN-ENDDA.
        IF SY-TABIX EQ 1.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL1 = INT_QUALFI-ATEXT.
          ENDIF.
        ELSEIF SY-TABIX EQ 2.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL2 = INT_QUALFI-ATEXT.
          ENDIF.
        ELSEIF SY-TABIX EQ 3.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL3 = INT_QUALFI-ATEXT.
          ENDIF.
        ELSEIF SY-TABIX EQ 4.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL4 = INT_QUALFI-ATEXT.
          ENDIF.
        ELSEIF SY-TABIX EQ 5.
          READ TABLE INT_QUALFI WITH KEY AUSBI = P0022-AUSBI.
          IF SY-SUBRC EQ 0.
            INT_OUTPUT-QUAL5 = INT_QUALFI-ATEXT.
          ENDIF.
        ENDIF.
      ENDPROVIDE.
    * Carrer path code for employee from Additional Personal Data.
      RP_PROVIDE_FROM_LAST P9002 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ C_ONE.
        W_CPCODE  = P9002-CPCODE.
        INT_OUTPUT-CPCODE = P9002-CPCODE.
        IF W_CPCODE EQ '001'.
          IF W_HIREDATE < C_EARLYDT.
            CONCATENATE W_CPCODE
                        C_EARLY
                  INTO  W_CAREERCD.
          ELSE.
            CONCATENATE W_CPCODE
                        C_NEW
                  INTO  W_CAREERCD.
          ENDIF.
        ELSE.
          W_CAREERCD = W_CPCODE.
        ENDIF.
      ENDIF.
    * Detrmine Promotion by Test/Service
      READ TABLE INT_NONEXE WITH KEY CPCODE    = W_CAREERCD
                                     WAGEGROUP = W_WAGEGRP.
      IF SY-SUBRC EQ 0.
        W_PROMTYPE = INT_NONEXE-TSTYPE.
        W_NOOFYRS  = INT_NONEXE-NOYRS.
        INT_OUTPUT-PROMT = W_PROMTYPE.
        INT_OUTPUT-NOYRS = W_NOOFYRS.
      ENDIF.
    * Retriving last promotion date from actions
      DELETE INT_PROM WHERE MASSN NE 'B3'.
      SORT INT_PROM BY BEGDA DESCENDING.
    *  RP_PROVIDE_FROM_LAST INT_PROM SPACE PN-BEGDA PN-ENDDA.
      READ TABLE INT_PROM INDEX 1.
      IF SY-SUBRC EQ 0 AND INT_PROM-MASSN EQ 'B3'.
        PERFORM PU_DATE_CONVERSION USING  INT_PROM-BEGDA
                                 CHANGING W_LASTPROM.
      ELSE.
        PERFORM PU_DATE_CONVERSION USING  W_HIREDATE
                                   CHANGING W_LASTPROM.
      ENDIF.
    *  As there is no ending date for records which happen on same date
    *  for cross check to get last promotion Infotype 0302' is retived
      IF P0302[] IS NOT INITIAL.
        DELETE P0302 WHERE MASSN NE 'B3'.
        SORT  P0302 BY BEGDA DESCENDING.
        READ TABLE P0302 INDEX 1.
        IF SY-SUBRC EQ 0 AND
           INT_PROM-BEGDA IS NOT INITIAL.
          IF INT_PROM-BEGDA < P0302-BEGDA.
            PERFORM PU_DATE_CONVERSION USING  P0302-BEGDA
                                     CHANGING W_LASTPROM.
          ENDIF.
        ENDIF.
      ENDIF.
      IF W_LASTPROM+0(2) GT '01'.
        W_LASTPROM+0(2) = '01'.
        W_ONE = W_LASTPROM+3(2) + 1.
        W_LASTPROM+3(2) =  W_ONE.
      ENDIF.
    * Last promaotion date for Employee into output table
      INT_OUTPUT-LPROM =  W_LASTPROM.
    * To Find out promotion due date for employee.
    * Fetching service availabilty data
      W_YEAR     =  W_LASTPROM+6(4).
      W_YEAR     =  W_YEAR + W_NOOFYRS.
      CONCATENATE  W_YEAR
                     W_LASTPROM+3(2)
                   W_LASTPROM+0(2)
              INTO W_PROMDATE.
    * Check promotion duedate is with in input range.
      IF S_FROM-LOW IS NOT INITIAL.
        CHECK W_PROMDATE GE S_FROM-LOW.
      ENDIF.
      IF S_FROM-HIGH IS NOT INITIAL.
        CHECK W_PROMDATE LE S_FROM-HIGH.
      ENDIF.
    * Promaotion due date for Employee into output table
      PERFORM PU_DATE_CONVERSION USING    W_PROMDATE
                                 CHANGING INT_OUTPUT-PROMD.
    * Apprisal rating data.
    * If promotion month is JAN,FEB,MAR deduct 6 years
      IF W_PROMDATE+4(2) EQ C_JAN OR
         W_PROMDATE+4(2) EQ C_FEB OR
         W_PROMDATE+4(2) EQ C_MAR.
        CLEAR W_YEAR.
        W_YEAR   = W_PROMDATE+0(4).
        W_APYEAR = W_YEAR - 1.
        W_YEAR   = W_YEAR - 6.
      ELSE.
    * If promotion month is not JAN,FEB,MAR deduct 5 years
        W_YEAR   = W_PROMDATE+0(4).
        W_APYEAR = W_YEAR.
        W_YEAR   = W_YEAR - 5.
      ENDIF.
      CONCATENATE  W_YEAR
                   '0401'
              INTO W_APPRST.
      CONCATENATE  W_APYEAR
                   '0331'
              INTO W_APPREND.
      DELETE P0025 WHERE BEGDA LT W_APPRST
                      OR BEGDA GT W_APPREND.
      PROVIDE * FROM P0025 BETWEEN PN-BEGDA AND PN-ENDDA.
        IF SY-TABIX EQ 1.
          INT_OUTPUT-APPR1 = P0025-KSU01.
        ELSEIF SY-TABIX EQ 2.
          INT_OUTPUT-APPR2 = P0025-KSU01.
        ELSEIF SY-TABIX EQ 3.
          INT_OUTPUT-APPR3 = P0025-KSU01.
        ELSEIF SY-TABIX EQ 4.
          INT_OUTPUT-APPR4 = P0025-KSU01.
        ELSEIF SY-TABIX EQ 5.
          INT_OUTPUT-APPR5 = P0025-KSU01.
        ENDIF.
      ENDPROVIDE.
    * Absence data.
      IF W_PROMDATE+4(2) EQ C_JAN.
        CLEAR W_YEAR.
        W_YEAR   = W_PROMDATE+0(4).
        W_ABSYR  = W_YEAR - 1.
        W_MONTH  = '11'.
        W_YEAR   = W_YEAR - 2.
      ELSE.
    * If promotion month is not JAN,FEB,MAR deduct 5 years
        W_YEAR   = W_PROMDATE+0(4).
        W_ABSYR  = W_YEAR.
        W_MONTH  = W_PROMDATE+4(2).
        W_MONTH  = W_MONTH - 01.
        W_YEAR   = W_YEAR - 1.
      ENDIF.
      CONCATENATE W_YEAR
                  W_MONTH
                  '23'
             INTO W_ABSST.
      CONCATENATE  W_ABSYR
                   W_MONTH
                   '22'
              INTO W_ABSEND.
      SORT   P2001 BY BEGDA.
      DELETE P2001 WHERE ( AWART NE C_AWL AND
                           AWART NE C_LWP )  OR
                         ( BEGDA LT W_ABSST
                     OR    BEGDA GT W_ABSEND ).
      PROVIDE * FROM P2001 BETWEEN PN-BEGDA AND PN-ENDDA.
        IF P2001-AWART  EQ  C_AWL.
          W_AWL = W_AWL + P2001-ABWTG.
        ELSEIF P2001-AWART  EQ  C_LWP.
          W_LWP = W_LWP + P2001-ABWTG.
        ENDIF.
      ENDPROVIDE.
      INT_OUTPUT-AWL = W_AWL.
      INT_OUTPUT-LWP = W_LWP.
    * Increments dates' data.
      DELETE INT_CHGPY WHERE MASSN NE 'B7'.
      SORT   INT_CHGPY BY BEGDA DESCENDING.
      IF INT_CHGPY[] IS NOT INITIAL.
        INT_INCRE-PERNR = INT_CHGPY-PERNR.
        PROVIDE * FROM INT_CHGPY  BETWEEN PN-BEGDA
                                      AND PN-ENDDA.
          IF SY-TABIX EQ 1.
            PERFORM PU_DATE_CONVERSION USING    INT_CHGPY-BEGDA
                                       CHANGING INT_INCRE-INCR1.
          ELSEIF SY-TABIX EQ 2.
            PERFORM PU_DATE_CONVERSION USING    INT_CHGPY-BEGDA
                                       CHANGING INT_INCRE-INCR2.
          ELSEIF SY-TABIX EQ 3.
            PERFORM PU_DATE_CONVERSION USING    INT_CHGPY-BEGDA
                                       CHANGING INT_INCRE-INCR3.
          ENDIF.
        ENDPROVIDE.
        APPEND INT_INCRE.
        CLEAR  INT_INCRE.
      ENDIF.
    * Disciplinary Actions.
      CLEAR W_YEAR.
      W_YEAR = W_PROMDATE+0(4).
      W_YEAR = W_YEAR - 3.
      CONCATENATE  W_YEAR
                   W_PROMDATE+4(4)
              INTO W_DISDATE.
      SORT P9545 BY MDATE.
      DELETE P9545 WHERE MDATE LT W_DISDATE
                      OR MDATE GT W_PROMDATE.
      PROVIDE * FROM P9545 BETWEEN PN-BEGDA
                              AND  PN-ENDDA.
        READ TABLE INT_DISCIP WITH KEY MCODE = P9545-MCODE.
        IF SY-SUBRC EQ 0.
          INT_DISCACT-PERNR  = P9545-PERNR.
          INT_DISCACT-DESCRI = INT_DISCIP-DESCRI.
          PERFORM PU_DATE_CONVERSION USING    P9545-MDATE
                                     CHANGING INT_DISCACT-MDATE.
          INT_DISCACT-COMM1 = ','.
          INT_DISCACT-COMM2 = ','.
          APPEND INT_DISCACT.
          CLEAR  INT_DISCACT.
        ENDIF.
      ENDPROVIDE.
      APPEND INT_OUTPUT.
      CLEAR INT_OUTPUT.
      CLEAR : W_HIREDATE,W_WAGEGRP,W_CPCODE,W_CAREERCD,W_PROMTYPE,
              W_NOOFYRS,W_LASTPROM,W_PROMDATE,W_YEAR,W_APYEAR,
              W_APPRST,W_DISDATE,W_APPREND,W_ABSST,W_ABSEND,
              W_ABSYR,W_MONTH,W_AWL,W_LWP,W_DISCI.
    ENDFORM.                    " PU_DATA_RETRIEVAL
    *&      Form  PU_DATA_OF_JOIN
    FORM PU_DATA_OF_JOIN .
      CLEAR INT_OUTPUT.
      READ TABLE P0000 WITH KEY  MASSN = 'B1'.
      IF SY-SUBRC NE 0 OR  P0000-STAT2 NE '3'.
        REJECT.
      ELSE.
    * Personnel number into output table
        INT_OUTPUT-PERNR = P0000-PERNR.
        PERFORM PU_DATE_CONVERSION USING P0000-BEGDA
                                CHANGING INT_OUTPUT-DOJ.
        W_HIREDATE = P0000-BEGDA.
      ENDIF.
    ENDFORM.                    " PU_DATA_OF_JOIN
    *&      Form  PU_POSTION_TEXT
    FORM PU_POSTION_TEXT .
      DATA  : S_OBJECT TYPE OBJEC_T,
              PERNR_TAB  TYPE HRQUERY_PERNR_T ,
              SOBID_TAB  TYPE HRQUERY_SOBID_T ,
              WA_SOBID TYPE HRQUERY_SOBID,
              WA_PERNR TYPE HRQUERY_PERNR,
              WA_OBJECT TYPE OBJEC.
      WA_PERNR-PERNR = P0001-PERNR.
      APPEND WA_PERNR TO PERNR_TAB.
      WA_SOBID-PLVAR = '01'.
      WA_SOBID-OTYPE = P0001-OTYPE.
      WA_SOBID-SOBID = P0001-PLANS.
      APPEND WA_SOBID TO SOBID_TAB.
      WA_SOBID-PLVAR = '01'.
      WA_SOBID-OTYPE = 'O'.
      WA_SOBID-SOBID = P0001-ORGEH.
      APPEND WA_SOBID TO SOBID_TAB.
      CALL FUNCTION 'HR_GET_TEXT_FOR_OBJECTS'
        EXPORTING
          BEGDA       = PN-BEGDA
          ENDDA       = PN-ENDDA
        IMPORTING
          OBJEC_TAB   = S_OBJECT
        CHANGING
          PERNR_TAB   = PERNR_TAB
          SOBID_TAB   = SOBID_TAB
        EXCEPTIONS
          WRONG_DATES = 1
          OTHERS      = 2.
      IF SY-SUBRC EQ 0.
        LOOP AT S_OBJECT INTO WA_OBJECT.
          IF WA_OBJECT-OTYPE EQ 'O'.
            INT_OUTPUT-ORGUN = WA_OBJECT-STEXT.
          ELSEIF  WA_OBJECT-OTYPE EQ 'S'.
            INT_OUTPUT-DESIG = WA_OBJECT-STEXT.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " PU_POSTION_TEXT
    *&      Form  PU_EXEUTIVES_PROM
    FORM PU_EXEUTIVES_PROM .
      SELECT * FROM ZHRT007 INTO TABLE INT_NONEXE.
      SELECT * FROM ZHRT004 INTO TABLE INT_DISCIP.
      SELECT * FROM T001P   INTO TABLE INT_PESUB.
      SELECT * FROM CSKT    INTO TABLE INT_COSTC
                                 WHERE SPRAS EQ SY-LANGU.
      SELECT * FROM T518B   INTO TABLE INT_QUALFI
                                 WHERE LANGU EQ SY-LANGU.
    ENDFORM.                    " PU_EXEUTIVES_PROM
    *&      Form  PU_DATE_CONVERSION
    FORM PU_DATE_CONVERSION  USING    INPUT_DATE    TYPE SY-DATUM
                             CHANGING OUTPUT_DATE   TYPE CHAR10.
      CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
        EXPORTING
          DATE_INTERNAL            = INPUT_DATE
        IMPORTING
          DATE_EXTERNAL            = OUTPUT_DATE
        EXCEPTIONS
          DATE_INTERNAL_IS_INVALID = 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.
    ENDFORM.                    " PU_DATE_CONVERSION
    *&      Form  PU_FINAL_TABLE
    * Preparing final internal table for output to excel
    FORM PU_FINAL_TABLE .
      DATA : W_STR1(4)  TYPE N,
             W_STR2(4)  TYPE N,
             W_STR3(4)  TYPE N,
             W_EXSTR(4) TYPE N,
             W_ORSTR(4) TYPE N,
             W_INSTR(4) TYPE N,
             W_ONSTR(4) TYPE N,
             W_DISFLAG  TYPE CHAR1,
             W_INCFLAG  TYPE CHAR1.
      LOOP AT INT_OUTPUT.
        MOVE-CORRESPONDING INT_OUTPUT TO INT_EXCEL.
        LOOP AT INT_DISCACT WHERE PERNR = INT_OUTPUT-PERNR.
          IF SY-TABIX EQ 1.
            CONCATENATE INT_DISCACT-DESCRI
                         SPACE
                        INT_DISCACT-MDATE
                   INTO W_DISCI.
            INT_EXCEL-DISCI = W_DISCI.
          ELSE.
            W_DISFLAG = 1.
          ENDIF.
        ENDLOOP.
        LOOP AT INT_INCRE WHERE PERNR = INT_OUTPUT-PERNR.
          INT_EXCEL-INCR1 =  INT_INCRE-INCR1.
          INT_EXCEL-INCR2 =  INT_INCRE-INCR2.
          INT_EXCEL-INCR3 =  INT_INCRE-INCR3.
        ENDLOOP.
        APPEND INT_EXCEL.
        CLEAR  INT_EXCEL.
        CLEAR : W_STR1,W_STR2,W_STR3.
        IF W_DISFLAG EQ 1.
          W_ORSTR = W_EXSTR.
          LOOP AT INT_DISCACT WHERE PERNR = INT_OUTPUT-PERNR.
            IF SY-TABIX NE 1.
              CONCATENATE INT_DISCACT-DESCRI
                           SPACE
                          INT_DISCACT-MDATE
                     INTO W_DISCI.
              INT_EXCEL-DISCI = W_DISCI.
              APPEND INT_EXCEL.
              CLEAR  INT_EXCEL.
              CLEAR : W_STR2,W_EXSTR.
            ENDIF.
          ENDLOOP.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " PU_FINAL_TABLE
    *&      Form  PU_GRID_DISPLAY
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM PU_GRID_DISPLAY .
      DATA W_GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      PERFORM F_FIELDCAT_INIT USING 'IT_HEADER' W_GT_FIELDCAT[].
      IF INT_EXCEL[] IS NOT INITIAL.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
            I_CALLBACK_PROGRAM = SY-CPROG
            IT_FIELDCAT        = W_GT_FIELDCAT[]
            IT_EVENTS          = EVENT[]
          TABLES
            T_OUTTAB           = INT_EXCEL
          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.
      ELSE.
        MESSAGE S011(ZHR).
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM.                    " PU_GRID_DISPLAY
    *&      Form  F_FIELDCAT_INIT
    FORM F_FIELDCAT_INIT USING IT_TABLE
                               LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PERNR'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 14.
      LS_FIELDCAT-SELTEXT_L = 'Personnel Number'.
      LS_FIELDCAT-FIX_COLUMN = 'X'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'NAME'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 30.
      LS_FIELDCAT-SELTEXT_L    = 'Name'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DESIG'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 25.
      LS_FIELDCAT-SELTEXT_L    = 'Desigination'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PESUB'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 16.
      LS_FIELDCAT-SELTEXT_L    = 'Personnel Sub Area'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ORGUN'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 25.
      LS_FIELDCAT-SELTEXT_L    = 'Organization Unit'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'COSTC'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 14.
      LS_FIELDCAT-SELTEXT_L    = 'Cost Center'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ETHIC'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 6.
      LS_FIELDCAT-SELTEXT_L    = 'Ethic'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'CPCODE'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 7.
      LS_FIELDCAT-SELTEXT_L    = 'CPCode'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'GRADE'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    =  12.
      LS_FIELDCAT-SELTEXT_L    = 'Current Grade'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = '***'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 6.
      LS_FIELDCAT-SELTEXT_L    = 'Gender'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DOB'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 11.
      LS_FIELDCAT-SELTEXT_L    = 'Date of Birth'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DOJ'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 11.
      LS_FIELDCAT-SELTEXT_L    = 'Date of Join'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL1'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 1'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL2'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 2'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL3'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 3'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL4'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 4'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'QUAL5'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 13.
      LS_FIELDCAT-SELTEXT_L    = 'Qualification 5'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'LPROM'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 16.
      LS_FIELDCAT-SELTEXT_L    = 'Last Promotion Date'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PROMD'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 16.
      LS_FIELDCAT-SELTEXT_L    = 'Promotion Due Date'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'PROMT'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 14.
      LS_FIELDCAT-SELTEXT_L    = 'Promotion Type'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'NOYRS'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Number of Years'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'AWL'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 22.
      LS_FIELDCAT-SELTEXT_L    = 'Absence Without Leave'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'LWP'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 22.
      LS_FIELDCAT-SELTEXT_L    = 'Leave Without Pay'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR1'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 1st'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR2'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 2nd'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR3'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 3rd'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR4'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 4th'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'APPR5'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = 'Apprisal 5th'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DISCI'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 60.
      LS_FIELDCAT-SELTEXT_L    = 'Disciplinary Actions - Date'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'INCR1'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = '1st Increment'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'INCR2'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = '2nd Increment'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'INCR3'.
      LS_FIELDCAT-TABNAME      = INT_EXCEL.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-SELTEXT_L    = '3rd Increment'.
      APPEND LS_FIELDCAT TO LT_FIELDCAT.
    ENDFORM.                    " F_FIELDCAT_INIT
    *&      Form  PU_FREE_TABLES
    FORM PU_FREE_TABLES .
      FREE :  INT_NONEXE  ,
              INT_OUTPUT  ,
              INT_DISCACT ,
              INT_QUALFI  ,
              INT_INCRE   ,
              INT_DISCIP  ,
              INT_PESUB   ,
              INT_COSTC   ,
              INT_EXCEL   ,
              EVENT       ,
              LISTHEAD    .
    ENDFORM.                    " PU_FREE_TABLES
    reward points if helpful
    Edited by: mohammed  abdul hai on Jul 25, 2008 7:21 PM

  • How to hide display details in sap gui and create ad-hoc request in UWL?

    Hi,
    how to hide display "details in sap gui" and "create ad-hoc request" in UWL?
    Please telme the step-by-step procedure to hide "details in sap gui" and "create ad-hoc request".
    Thanks,
    Rashmi

    Hi,
    Thanks for the information. It was very helpfull.
    Can you please tellme where can we fine UWL iView? I tried to find this out in two ways.
    1) Portal Content -> Content Provided by SAP -> End User Content -> Standard Portal Users -> Views -> com.sap.coll.iviews -> Universal Worklist (finally i got this iView). Here i dint find any property called "List of UWL Actions to exclude". In the link which you had given, its written that we can modify the iView and add the name of the actions under the Actions to exclude from the UWL property.
    Which iView do we need to modify and where can i find that property?
    2) I downloaded the xml file and then tried to find this property "List of UWL Actions to exclude" or " Actions to exclude from the UW". But i couldnt find both the properties in xml file.
    Thanks,
    Rashmi

  • IDoc structure mismatch between SAP R/3 and PI

    Hi,
    There is an interface in PI which receives IDoc from SAP R/3 system. I have been facing an issue of IDoc structure mismatch (in terms of data present in it) between SAP R/3 and when PI receives the IDoc.
    To be more precise,
    In SAP R/3 system, the value ABC is present in the field DOCNUM in the IDoc.
    But when the PI receives the same IDoc from SAP R/3 (as seen in Integration Engine), the value ABC is present in a different field and the DOCNUM field is empty.
    <DOCNUM></DOCNUM>
    <ARCKEY>ABC</ARCKEY>
    The first step towards resolution was to delete and reimport the IDoc metadata from SAP R/3 in PI system using IDX2, which did not help in this case.
    Could anyone please help in resolving the field mismatch between the IDoc triggered from SAP R/3 and the IDoc received by PI.
    Regards,
    Prajeet

    Hi Prajeet,
    it's long ago but your question has not been finally solved, so let me try to give you an answer. We are facing the same problem after patching our PI.
    I think the reason for the different behaviour is related to SAP note 1233908, where SAP has changed the IDoc adapter.
    https://service.sap.com/sap/support/notes/1233908
    Regards,
    Lars

Maybe you are looking for

  • Nokia 701 menu button not working and other bugs

    I have a "brand new" 701 with 111.020.0307 that won't update to 111.030.0609 because I'm in Italy . Now I have a really annoying bug: the menu key, sometimes, stops working and won't bring up the menu if pressed briefly, and won't bring up the task l

  • Key not valid for use in specified state when running install_reader11_en_mssd_aaa_aih

    After downloading, Version XI (11.0.08) at http://get.adobe.com/reader/download/?installer=Reader_11.0.08_English_for_Windows&os=Wind ows%207&browser_type=KHTML&browser_dist=Chrome&d=McAfee_Security_Scan_Plus_Chrome_Browser& dualoffer=false running,

  • How to locate or find existing website on new new computer

    six months ago i bought a new computer and now cannot modify an existing website created and published in Muse on the new computer. files cannot be found. what are the solutions to transfer files from old computer to new computer

  • Query to update a record

    Hi, Please let me know the query to update a particular record in a table by inserting the data from another table. Eg: Table A Column A1 Column A2 Column A3 Column A4 12 13 14 Table B Column B1 Column B2 Column B3 abc def sss In the above, i need to

  • Camera Error Storm2 9550

    Sigh...  I have become victim to the camera error "Could not start camera.  Close other applications and try opening the camera again."  I've tried battery pulls and all sorts of other tricks to no avail.  I can't wipe the phone and start over becaus