MDG in ECC6.0 ENPH5

Hi,
We are now studying MDG in ECC6.0 EHP5 to review if this new feature can meet our business user requirement.
We have installed SAP Business Suite Foundation in SAP/R3 and activated the business functions MDG_FOUNDATION, MD_MATERIAL.  We can find there are configuration functions in IMG and data replication functions (Cross-Application Components-> Processes and Tools for Enterprise Applications->Master Data Governance->Data Replication->Define Filter Criteria).  
However, we cannot find any general user functions (such as creating change requests) mentioned in Section u201CWorking with Master Data Governanceu201D of http://help.sap.com/erp2005_ehp_05/helpdata/en/7c/a94fabb8274d738d994c2bc1c4cf7a/frameset.htm .  As per the documentation, the mentioned functions are Web Dynpro application (e.g. USMD_CREQUEST_CREATE). 
Please advice if we need to install other software components  or do some configuration so that we access those general user functions to proceed the evaluation exercise.
Regards,
Dennis

Hi,
The webdynpro application USMD_CREQUEST_CREATE is the generic application to create change request for your data models.
I suppose you have activated all business functions etc.
For a quick start you can assign role SAP_MDGM to your user and start running transaction NWBC. Select your SAP_MDGM in the open brower and you should be able to see all related functions.

Similar Messages

  • SAP ECC6 memory and paging issues

    Dear Experts
    I have recently upgraded my 4.6C systems to an ECC 6 system (DB2 LUW 9.5 on AIX 5.3 TL9 64 Bit OS)
    I have been running the LPAR with 14 GB of memory and we are around 100-200+ users using the system, I was monitoring using nmon and found that Physical Memory was around 99.8% Used   (14311.8MB and 22.6MB was free) also the paging space was around 37.2% in result causing the system at times to run slow which can have a very negative effect on the users.
    After further investigation I found that after a system restart the Physical Memory would start around 50.9% and increased at a steady pace until it reached 99.8% that is when the system would start using the paging space which would steadily increase, I found that the only solution was a system restart at least once a week to reduce the memory consumption.
    At first glance it looked like a database manger memory leak with the process db2sysc, so I searched the net with the search words u201Cdb2 memory leaku201D and found the following APARs and notes.
    APAR JR30285 - Pervasive memory leak when compiling SQL statements that use SQL/XML functions
    APAR IZ35230 - There is a pervasive unix-specific private memory leak in the security component
    Note 1288341 - Memory leak in APPLHEAPSZ -> SQL0954C 
    Note 1352361 - Memory leak in shared memory area abrfci
    Note 1147821 - DB6: Known Errors and available Fixes in DB2 9.5 LUW
    After reading the notes and APARs I decided to updated DB2 to the latest fix pack (5SAP), but after the fix pack was implemented it did not solve the memory problem
    I started look at different problems with SAP ECC6, db2 and AIX with paging/memory problems and I found the following notes to do with AIX memory and paging but none of them helped as all parameters and settings were set accordingly  
    789477 - Large extended memory on AIX (64-bit) as of Kernel 6.20
    191801 - AIX 64-bit with very large amount of Extended Memory
    973227 - AIX Virtual Memory Management: Tuning Recommendations
    884393 - AIX saposcol consumes large amount of memory.
    856848 u2013 AIX Extended Memory Disclaiming 
    1048686 u2013 Recommended AIX settings for SAP
    1121904 u2013 SAP on AIX: Recommendations for Paging
    1086130 u2013 DB6: DB2 Standard Parameter Settings
    After even more investigation I found the following evidence suggesting AIX Virtual Memory Manager might have a problem

    Shared memories inside of pool 40
    Key:       42  Size:    17792992 (  17.0 MB) DB TTAB buffer              
    Key:       43  Size:    53606392 (  51.1 MB) DB FTAB buffer              
    Key:       44  Size:     8550392 (   8.2 MB) DB IREC buffer              
    Key:       45  Size:     7014392 (   6.7 MB) DB short nametab buffer     
    Key:       46  Size:       20480 (   0.0 MB) DB sync table               
    Key:       47  Size:    10241024 (   9.8 MB) DB CUA buffer               
    Key:       48  Size:      300000 (   0.3 MB) Number range buffer         
    Key:       49  Size:     2769392 (   2.6 MB) Spool admin (SpoolWP+DiaWP) 
    Shared memories outside of pools
    Key:        3  Size:   114048000 ( 108.8 MB) Disp. communication areas   
    Key:        4  Size:      523048 (   0.5 MB) statistic area              
    Key:        6  Size:   692224000 ( 660.2 MB) ABAP program buffer         
    Key:        7  Size:       14838 (   0.0 MB) Update task administration  
    Key:        8  Size:   134217828 ( 128.0 MB) Paging buffer               
    Key:        9  Size:   134217828 ( 128.0 MB) Roll buffer                 
    Key:       18  Size:     1835108 (   1.7 MB) Paging adminitration        
    Key:       19  Size:   119850000 ( 114.3 MB) Table-buffer                
    Key:       41  Size:    25010000 (  23.9 MB) DB statistics buffer        
    Key:       63  Size:      409600 (   0.4 MB) ICMAN shared memory         
    Key:       64  Size:     4202496 (   4.0 MB) Online Text Repository Buf. 
    Key:       65  Size:     4202496 (   4.0 MB) Export/Import Shared Memory 
    Key:     1002  Size:      400000 (   0.4 MB) Performance monitoring V01.0
    Key: 58900114  Size:        4096 (   0.0 MB) SCSA area                   
    Nr of operating system shared memory segments: 16
    Shared memory resource requirements estimated
    ================================================================
    Total Nr of shared segments required.....:         16
    System-imposed number of shared memories.:       1000
    Shared memory segment size required min..:  692224000 ( 660.2 MB)
    System-imposed maximum segment size......: 35184372088832 (33554432.0 MB)
    Swap space requirements estimated
    ================================================
    Shared memory....................: 1654.8 MB
    ..in pool 10  328.6 MB,   58% used
    ..in pool 40  143.3 MB,   30% used
    ..not in pool: 1174.1 MB
    Processes........................:  413.4 MB
    Extended Memory .................: 6144.0 MB
    Total, minimum requirement.......: 8212.2 MB
    Process local heaps, worst case..: 3814.7 MB
    Total, worst case requirement....: 21882.9 MB
    Errors detected..................:    0
    Warnings detected................:    3

  • Call tranasaction with skip first screen in ecc6

    Hi,
    We are doing upgrade from 4.7 to ecc 6. We are getting an error while running a report( The addition "AND SKIP FIRST SCREEN" can't be used with "CALL TRANSACTION .. USING".  ) in ecc6. This is not showing error in 4.7. Call transaction with skip first screen is fine in 4.7. But it is throwing an error in ecc6.
    Could anybody provide me the pointers to rectify this error.
    Regards,
    Ramesh

    Hi
    Did you pass all the mandatory field values to the calling transaction , Because when you use this addition you need to pass all the mandatory field values then only it works fine. Check out whether you are passing all the mandatory field values.
    Regards
    Pavan

  • RFC connection error between Netweaver 7 EHP1 and Ides ECC6

    Hi Friends,
    I try to create  source system  in BI from Netwever EHP1 to IDES ECC6 EHP3.
    During the creation I get a connection error, says. check connction parameter.
    I checked the parameter, everything is fine. Server, System and number.
    When I went to the SM59 and created a connction.
    I.E. with the same parameter like system = 06 and server = compi9 gave client 800 etc.
    The Host name is resolved to 192.168.2.111 wich is OK.
    But when I run the connection test it shows me  "ERROR: partner '80.156.86.78:sapgw06' not reached"
    I have no idea where this IP '80.156.86.78" is comming from.
    No Problem with the opposite way, from Ides to NW and login to the System is OK too.
    Can anybody help me with this problem.
    RG. Jimbob

    Hi,
    What is the next screen that comes up when you click on remote logon.
    If no screen comes up then:
    Check the user type of the user id used for this RFC.
    It should be either dialog or service user for able to remote login.
    If it open a new window and asks for password, then its excatly password issue.
    Also make sure that the password is in numeric and correct.
    Also make sure that the current user check box is unchecked.
    Even if it dosent work, delete the connection and create again.
    Please award points if helps.
    Thanks
    Santhosh

  • BRF+ is not working for MDG-F

    Hi Experts
    I selected rule based workflow template for OG_0001 CR type ( Creation of GL account).
    It seems workflow is not triggered as there is error for one work item: Check If Single Agent-Group Processing 
    Error in getting proper agent group; no agent group found (Message no. USMD5_SSW013).
    I goggled the error and as per it I reactivated all three decision tables in BRF+.
    Also I configure the workflow task for component CA-MDG-AF and CA-MDG-FIN.
    Still issue continued.
    Can any one throw some high light and fix the issue?

    Hi Sanjay,
    There could be a few reasons.
    When you are using rule based workflow you must have a Badi for your workflow.Make sure the content in your Badi is correct and activated. Second possibility is that you did not maintain the service in your rule based workflow or filter in your BADI. The 3 rd possibility is that there is something wrong in your decision tables or that you perhaps forgot to activate all the decision tables.
    Hope you find the problem
    Regards
    Riaan

  • Upgrade - 4.6B - ECC6 phase TP_ACTION_CP2SINI - fails

    Platoform - Solaris 5.9
    Oracle - 10.2.0.2
    Upgrade of 4.6B - ECC6 fails in the phase <b>TP_ACTION_CP2SINI</b>
    This phase in the previous Mock had completed in 20 min aprox, but on the present mock upgrade its taken longer time.....
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    ERROR: No connect due to DbSl Load Lib Failure
    ERROR: The values set for DIR_LIBRARY ('/usr/sap/P35/SYS/exe/run') or dbms_type ('ORA') are invalid.
    ERROR: Connect to P35 failed (20070824170148).
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    ERROR: No entry for SAPKBBF700 in E070 or error during access.
    ERROR SAPKBBF700           P35 E 0012 20070824180341 DDIC         p35adm       RELSAPDB 20070824173846006328
    HALT 20070824180341
    ERROR: uncaught internal error: ORA-03114: not connected to ORACLE
    ERROR: EXIT(16) -> process ID is: 25384
    ERROR: Connect to P35 failed (20070824180342, probably wrong environment).
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    Phase TP_ACTION_CP2SINI:
    INFO: Export of SAPKBBF700; client 0 taken from E070C
    Kind assistance appreciated.
    Regards,
    Siddhartha Gupte
    +91 9833888910

    Hi Markus,
    Oracle is running but give a problem when creating a tablespace - PSAPTEMP1 through sqlplus but when checked through the DB02, the size shown is '0'
    when try to modify or create any table through brtools below error is given.
    BR*Tools main menu
    1 = Instance management
    2 - Space management
    3 - Segment management
    4 - Backup and database copy
    5 - Restore and recovery
    6 - Check and verification
    7 - Database statistics
    8 - Additional functions
    9 - Exit program
    Standard keys: c - cont, b - back, s - stop, r - refr, h - help
    BR0662I Enter your choice:
    2
    BR0280I BRTOOLS time stamp: 2007-08-24 20.51.19
    BR0663I Your choice: '2'
    BR0280I BRTOOLS time stamp: 2007-08-24 20.51.19
    BR0656I Choice menu 5 - please make a selection
    Database space management
    1 = Extend tablespace
    2 - Create tablespace
    3 - Drop tablespace
    4 - Alter tablespace
    5 - Alter data file
    6 - Move data file
    7 - Additional space functions
    8 - Reset program status
    Standard keys: c - cont, b - back, s - stop, r - refr, h - help
    BR0662I Enter your choice:
    1
    BR0280I BRTOOLS time stamp: 2007-08-24 20.51.21
    BR0663I Your choice: '1'
    BR0280I BRTOOLS time stamp: 2007-08-24 20.51.21
    BR0657I Input menu 81 - please check/enter input values
    BRSPACE options for tablespace extension
    1 - BRSPACE profile (profile) ...... [initP35.sap]
    2 - Database user/password (user) .. [/]
    3 ~ Tablespace name (tablespace) ... []
    4 - Confirmation mode (confirm) .... [yes]
    5 - Scrolling line count (scroll) .. [20]
    6 - Message language (language) .... [E]
    7 - BRSPACE command line (command) . [-p initP35.sap -s 20 -l E -f tsextend]
    Standard keys: c - cont, b - back, s - stop, r - refr, h - help
    BR0662I Enter your choice:
    3
    BR0280I BRTOOLS time stamp: 2007-08-24 20.51.24
    BR0663I Your choice: '3'
    BR0280I BRTOOLS time stamp: 2007-08-24 20.51.24
    BR0681I Enter string value for "tablespace" []:
    psaptemp1
    BR0280I BRTOOLS time stamp: 2007-08-24 20.51.42
    BR0683I New value for "tablespace": 'psaptemp1'
    BR0280I BRTOOLS time stamp: 2007-08-24 20.51.42
    BR0657I Input menu 81 - please check/enter input values
    BRSPACE options for tablespace extension
    1 - BRSPACE profile (profile) ...... [initP35.sap]
    2 - Database user/password (user) .. [/]
    3 ~ Tablespace name (tablespace) ... [psaptemp1]
    4 - Confirmation mode (confirm) .... [yes]
    5 - Scrolling line count (scroll) .. [20]
    6 - Message language (language) .... [E]
    7 - BRSPACE command line (command) . [-p initP35.sap -s 20 -l E -f tsextend -t psaptemp1]
    Standard keys: c - cont, b - back, s - stop, r - refr, h - help
    BR0662I Enter your choice:
    c
    BR0280I BRTOOLS time stamp: 2007-08-24 20.52.05
    BR0663I Your choice: 'c'
    BR0259I Program execution will be continued...
    BR0291I BRSPACE will be started with options '-p initP35.sap -s 20 -l E -f tsextend -t psaptemp1'
    BR0280I BRTOOLS time stamp: 2007-08-24 20.52.05
    BR0670I Enter 'c[ont]' to continue, 'b[ack]' to go back, 's[top]' to abort:
    c
    BR0280I BRTOOLS time stamp: 2007-08-24 20.52.09
    BR0257I Your reply: 'c'
    BR0259I Program execution will be continued...
    BR1001I BRSPACE 7.00 (18)
    BR1002I Start of BRSPACE processing: sdvzqkms.tse 2007-08-24 20.52.10
    BR0280I BRSPACE time stamp: 2007-08-24 20.52.10
    BR0301W SQL error -904 at location BrsDblogOpen-6, SQL statement:
    'INSERT INTO SAP_DBAML (SYS_ID, OPER_ID, TASKNAME, JOB_NR, TRIAL, UTIL_NR, FUNC_ID, UPD_OP, TOOLSET, PROGNAME, LOG_NAME, STATUS, BEGIN_OP, END_OP, RC, INTERNAL) VALUES ('P35', '20070824205210', 'Extend tablespace', '0000000000', '1', '0000000000', 'tse', '20070824205210', 'SAP CCMS', 'BRSPACE', '/oracle/P35/sapreorg/sdvzqkms.tse', 'STARTED', '20070824205210', ' ', '0000', 'sdvzqkms')'
    ORA-00904: "TOOLSET": invalid identifier
    BR0324W Insertion of database log header failed
    BR0280I BRSPACE time stamp: 2007-08-24 20.52.10
    BR1009I Name of database instance: P35
    BR1010I BRSPACE action ID: sdvzqkms
    BR1011I BRSPACE function ID: tse
    BR1012I BRSPACE function: tsextend
    BR0280I BRSPACE time stamp: 2007-08-24 20.52.11
    BR0657I Input menu 303 - please check/enter input values
    Options for extension of tablespace PSAPTEMP1 (1. file)
    1 * Last added file name (lastfile) ....... [/oracle/P35/sapdata5/temp1_1/temp1.data1]
    2 * Last added file size in MB (lastsize) . [500]
    3 - New file to be added (file) ........... [/oracle/P35/sapdata5/temp1_2/temp1.data2]
    4 ~ Raw disk / link target (rawlink) ...... []
    5 - Size of the new file in MB (size) ..... [500]
    6 - File autoextend mode (autoextend) ..... [no]
    7 # Maximum file size in MB (maxsize) ..... []
    8 # File increment size in MB (incrsize) .. []
    9 - SQL command (command) ................. [alter tablespace PSAPTEMP1 add tempfile '/oracle/P35/sapdata5/temp1_2/temp1.data2' size 500M autoextend off]
    Standard keys: c - cont, b - back, s - stop, r - refr, h - help
    BR0662I Enter your choice:
    Expecting your kind reply,
    Siddhartha gupte

  • Error in ECC6 During installation

    Dear all
    Error in ECC6 During installation , the following contents is get from sapnst_dev.log
    148556:  if ( componentToBeCalled == 'NW_Usage_Types_Configuration_BI_ind_ind_ind_ind') 
    148557: 
    148560:  if ( componentToBeCalled == 'NW_Call_Offline_CTC_ind_ind_ind_ind') 
    148561: 
    148564: }
    ERROR      2008-06-27 07:43:37 [iaxxejsbas.cpp:178]
               EJS_ErrorReporter
    FJS-00003  TypeError: spStringRE.exec(labelString) has no properties (in script NW_Onehost|ind|ind|ind|ind, line 63483: ???)
    ERROR      2008-06-27 07:43:37
    FCO-00011  The step validateContent with step key |NW_Onehost|ind|ind|ind|ind|0|0|SAP_Software_Features_Enablement|ind|ind|ind|ind|4|0|SAP_Software_Features_GetContent|ind|ind|ind|ind|0|0|validateContent was executed with status ERROR .
    TRACE     
    <html><head></head><body><p>An error occurred while processing service <b>SAP ERP 2005 Support Release 2 > SAP Systems > Oracle > Central System > Central System Installation</b>. You may now</p><ul> <li>press <I>Retry</I> to repeat the current step.</li> <li>press the <I>View Log</I> button to get more information about the error.</li> <li>stop the task and continue with it later.</li></ul><p>Log files are written to <b>C:\Program Files/sapinst_instdir/ERP/SYSTEM/ORA/CENTRAL/AS</b>.</p></body></html>
    TRACE      [iaxxgenimp.cpp:1155]
               showDialog()
    waiting for an answer from gui
    INFO       2008-06-27 07:45:05 [iaxxgenimp.cpp:782]
               showDialog()
    An error occured and the user decide to stop.\n Current step "|NW_Onehost|ind|ind|ind|ind|0|0|SAP_Software_Features_Enablement|ind|ind|ind|ind|4|0|SAP_Software_Features_GetContent|ind|ind|ind|ind|0|0|validateContent".

    Up !?

  • SAP EH&S 4.6C Migration to SAP ECC6

    Hi All,
    We are having separate SAP R/3 instance for EH&S module (4.6C system). The transactions system is SAP R/3 4.7 system and is due for ECC6 upgrade. Just want to know
    1.     Has anything changed in EHS module from 4.7 to ECC6. If yes, what?
    2.     if we migrate the EH&S functionality from the separate instance for EHS to transactional system in ECC6 / 4.7 R/3  system - will it get affected.
    3.     What will be the best time to do the migration of EHS data to transactional system (before or after upgrade). We are using specifications, active phrase libraries, reports, report templates and report generation variants and WWI server for MSDS.
    Request your help. Thanks
    PS: Even partial answers will also help a lot.
    Best Regards,
    Vithal

    Hi,
    Please visit the following links:
    http://service.sap.com/erp
    http://solutionbrowser.erp.sap.fmpmedia.com/ (Functional perspective)
    /people/thomas.mann2/blog/2006/08/22/sap-upgrade-conflicts-1
    http://service.sap.com/instguides > mySAP Business Suite Applications > mySAP ERP > mySAP ERP 2005 > Upgrade
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOVC/LOVC.pdf
    For Functionality Differences, refer to the below site u2013
    http://solutionbrowser.erp.sap.fmpmedia.com/
    After opening the site, please select the Source Release Version which is 4.6. Then Select the Target Release Version which is "mySAP ERP 2005" or ECC 6.0
    Select the Solution Area like Financials, Human Capital Management, Sales....
    Select module like MM, PP, SD, QM.....
    Click on Search
    Then it displays the Release Version and the Delta Functionality, which can be downloaded to a word document if required. Also check the release notes of ECC 6.0 in service.sap.com.
    Hope this helps some extent.
    regards,
    mahesh.

  • DataSource for FAGLFLEXT and BSEG, or New Table in ECC6?

    need to create an extractor to have all the information of FAGLFLEXT, because we need to keep the ledger information and the split of the information. However, we need to add 13 fields contained in BSEG.
    Therefore we thought to reads the line items table FAGLFLEXA, and then enhace it throught BSEG table.
    However, since we are using ECC6 and BI7. It is not support the creation of DataSources for FAGLFLEXA throught FAGLBW03.
    Is it an option to incorporate all fields into FAGLFLEXT.
    Can we creat a new table group based on FAGLFLEXT, and then adding the coding block extensions to that table -
    how does new g/l and the new table group work in parallel? Which is the procedure to do it?
    Documentation says we can create a new table group based on FAGLFLEXT --- its the how does it work in conjuction part...for example...the new g/l handles document splitting and one other thing georg referenced last night...will the split documents go into our new table group?
    BSEG does not have the document splitter information that we need (it's incomplete data). It's missing profit centers on many items, it's missing the proper split of transactions.
    Thanks for your comments.

    Here is more information about this post.
    Client situation:  Our client is implementing ECC 6 and is using the "New-GL" features.  Because of business requirements, the coding block has been extended (not insignificantly - 18 extra fields at the moment) to accommodate legal, regulatory and management reporting.  The reporting solution includes standard ECC reporting (e.g. report writer, report painter reports) as well as feeds to BW (BI 7).
    The Challenge:  Our understanding is that adding all of the coding block extensions to the New-GL tables (ie. FAGLFLEXA and FAGLFLEXT) may lead to performance degradation in the ECC system.  However, we still need to accommodate the requirement to report by the additional dimensions that are not currently included in the New-GL, so our challenge has been to find a solution that minimizes performance issues, while still allowing us to have all the necessary dimensions with which to do the required reporting.
    What we would like to know:  How have you handled this in similar situations?
    Have you added to the New-GL tables? How many fields? Performance issues encountered?
    Have you created additional table group(s) based on the New-GL and then modified that structure to have the new fields?  How does the additional table group work co-incident with New-GL (e.g. does the additional table group receive document splitting information?)?
    Have you created custom extractors for BW?  On what basis (we understand that FAGFLEXA cannot be created as a datasource to feed BW)?

  • HR - PA upgrade issue (4.6C to ECC6.0)

    dear all,
    we are currently in the process of upgrade from 4.6C to ECC6.0
    and we found this minor issue in the submodule PA:
    using tcode pa20/pa30 we can not see any record of IT0000 Actions using 'overview'
    but the all the detail actions can be displayed..
    the overview (mountain icon) can't show all the records- only happen when we want to overview the infotype IT0000 Actions.
    but all the details that we have recorded in IT0000 Actions, can still be displayed (using spectacle icon)
    this is only happen in IT0000 Actions
    all other infotypes can be overviewed using 'mountain icon' and can be displayed using 'spectacle icon' as normal condition.
    anyone ever gone through the same issue?
    we have updated patch for SAP HR : SP 32 and EA 7.
    the authorization is SAP ALL.
    looking forward to hearing from you.
    best regards,
    dhenny muliawaty (pei pei)

    Hi Abhishek,
    thanks for your reply and your guidance..
    we need more information from you..
    1. how to back up the table, is it right that we need to contact basis and ask our basis guy to back up the tables?
    2. after we do the backup of HR table T512W, before upgrading your HR support package, then we upgrade the support package and after that..
    is it right that we need to restore the table? or that the back up is use to do cross check on the content of the T512W after upgrade?
    V_512W_B                       Valuation Bases                                         
    V_512W_C                       Averages                                                
    V_512W_D                       Processing Classes, Cumulations, and Evaluation Classes 
    V_512W_O                       Complete View T512W                                     
    V_512W_T                       Wage Type Texts                                         
    thanks for informing us that it's a standard practice to backup this table before applying the HR patch to system. how do you know this is a standard practice?
    do you know any other additional standard practices for HR in upgrade project from 4.6C to ECC6.0?? do you have the link of this complete information?
    thank you for your kind attention and support.
    looking forward to hearing from you.
    thanks and best regards,
    dhenny muliawaty (pei pei)

  • PDF Attachment Email Opening issue in ECC6

    Hello,
    We are having problem with below report. I'm able to send emails(invoice) as PDF attachments , but the attached PDF file wont open. I'm getting a message "Adobe reader could not open attachement the file has been damaged".This report works in our old version 4.6c but we just upgrade to ecc6. Please Please help.
    Thanks,
    Jose
    REPORT zrfi_customer_statement_new
    NO STANDARD PAGE HEADING
    MESSAGE-ID zm_load
    LINE-SIZE 325
    LINE-COUNT 65(3).
    Tables *
    TABLES:
    bsid, bsad, knb1, kna1, knkk, t001, t014, t179t,
    t052, fplt, vbap, veda, vbrk, vbpa, vbkd, knvk,
    cepct, tvzbt, vbak, bsik, tsp01, usr21,adr6, tsp03l.
    Internal tables *
    DATA: i_bsid LIKE bsid OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF i_bukrs OCCURS 0,
    bukrs LIKE bsid-bukrs,
    waers LIKE bsid-waers,
    END OF i_bukrs.
    DATA:
    BEGIN OF i_temp_data OCCURS 0,
    bukrs LIKE bsid-bukrs, " Company code
    kunnr LIKE bsid-kunnr, " Customer
    belnr LIKE bsid-belnr, " Invoice
    gjahr LIKE bsid-gjahr, " Fiscal year
    waers LIKE bsid-waers, " Currency
    rebzg LIKE bsid-rebzg,
    bldat LIKE bsid-bldat, " Posting date
    shkzg LIKE bsid-shkzg, " Debit/Credit
    zfbdt LIKE bsid-zfbdt, " Baseline date
    zterm LIKE bsid-zterm, " Terms of payment key
    dmbtr LIKE bsid-dmbtr, " company currency
    dmbe2 LIKE bsid-dmbe2, " Amount in Group Currency
    days LIKE rfposxext-verzn, " No of Arrear Days
    kidno LIKE bsid-kidno, " Payment reference number
    kunnr_c LIKE vbak-kunnr, " Partner Number
    name_c(50), " Partner Last name
    matnr LIKE vbap-matnr, " Material no
    arktx LIKE vbap-arktx, " material description
    vbeln LIKE vbap-vbeln, " Contract/Order no
    inv_date LIKE vbrk-fkdat,
    xblnr LIKE bsid-xblnr,
    xblnr LIKE bsid-zuonr,
    vtext LIKE vbap-arktx, "material description
    sgtxt LIKE bsid-sgtxt,
    plant LIKE t001w-name1,
    zzihrez_e LIKE vbap-zzihrez_e,
    vvtext LIKE tvzbt-vtext,
    blart LIKE bsid-blart,
    zuonr LIKE bsid-zuonr,
    END OF i_temp_data.
    DATA:
    BEGIN OF itab OCCURS 0,
    kunnr LIKE bsid-kunnr, " Customer
    bukrs LIKE bsid-bukrs, " Company code
    kunnr_c LIKE vbak-kunnr, " Partner Number
    name_c(50), " Partner Last name
    matnr LIKE vbap-matnr, " Material no
    kidno LIKE bseg-kidno, " Payment reference
    name1 LIKE kna1-name1, " Customer name
    belnr LIKE bsid-belnr, " Invoice
    waers LIKE bsid-waers, " Currency ( Document )
    gjahr LIKE bsid-gjahr, " Fiscal year
    zfbdt LIKE bsid-zfbdt, " Baseline date
    zterm LIKE bsid-zterm, " Terms of payment key
    amt00_30 TYPE netwr_ak, " 000 - 030 Days
    amt31_60 TYPE netwr_ak, " 031 - 060 Days
    amt61_90 TYPE netwr_ak, " 061 - 090 Days
    amt91_120 TYPE netwr_ak, " 090 - 120 Days
    amt120pls TYPE netwr_ak, " 120+ Days
    total TYPE netwr_ak, " Row Total
    inv_date LIKE vbrk-fkdat,
    rebzg LIKE bsid-rebzg,
    xblnr LIKE bsid-xblnr,
    xblnr LIKE bsid-zuonr,
    sgtxt LIKE bsid-sgtxt,
    days(5) , " No of Arrear Days
    inv_chk LIKE bsid-xblnr, " invoice/check/wire transfer no
    vtext LIKE t179t-vtext,
    zzihrez_e LIKE vbap-zzihrez_e,
    plant LIKE t001w-name1,
    vvtext LIKE tvzbt-vtext,
    bldat LIKE bsid-bldat,
    blart LIKE bsid-blart,
    zuonr LIKE bsid-zuonr,
    END OF itab.
    DATA: BEGIN OF i_final OCCURS 0,
    inv_chk LIKE bsid-xblnr, " invoice/check/wire transfer no
    bldat LIKE bsid-bldat,
    xblnr LIKE bsid-xblnr,
    inv_date LIKE vbrk-fkdat,
    name_c(50), " Partner Last name
    vtext LIKE t179t-vtext,
    zzihrez_e LIKE vbap-zzihrez_e,
    plant LIKE t001w-name1,
    vvtext LIKE tvzbt-vtext,
    total TYPE netwr_ak, " Row Total
    days(5) , " No of Arrear Days
    waers LIKE bsid-waers,
    blart LIKE bsid-blart,
    zuonr LIKE bsid-zuonr,
    END OF i_final.
    DATA: BEGIN OF i_last OCCURS 0,
    kunnr LIKE vbak-kunnr,
    inv_chk LIKE bsid-xblnr, " invoice/check/wire transfer no
    bldat LIKE bsid-bldat,
    xblnr LIKE bsid-xblnr,
    inv_date LIKE vbrk-fkdat,
    name_c(50), " Partner Last name
    vtext LIKE t179t-vtext,
    zzihrez_e LIKE vbap-zzihrez_e,
    plant LIKE t001w-name1,
    vvtext LIKE tvzbt-vtext,
    total TYPE netwr_ak, " Row Total
    days(5) , " No of Arrear Days
    waers LIKE bsid-waers,
    blart LIKE bsid-blart,
    zuonr LIKE bsid-zuonr,
    END OF i_last.
    DATA: i_bsik LIKE bsik OCCURS 0 WITH HEADER LINE.
    DATA: itab_temp LIKE itab OCCURS 100 WITH HEADER LINE.
    DATA:
    BEGIN OF itab_details OCCURS 0,
    bukrs LIKE bsid-bukrs, " Company code
    xblnr LIKE bsid-xblnr,
    gjahr LIKE bsid-gjahr,
    belnr LIKE bsid-belnr,
    kunnr LIKE bsid-kunnr,
    END OF itab_details.
    DATA: BEGIN OF x_kna1 OCCURS 0,
    kunnr LIKE kna1-kunnr,
    name1 LIKE kna1-name1,
    name2 LIKE kna1-name2,
    ptext LIKE tpfkt-vtext,
    street LIKE adrc-street,
    ort01 LIKE kna1-ort01,
    regio LIKE kna1-regio,
    pstlz LIKE kna1-pstlz,
    landx LIKE t005t-landx,
    agdate LIKE sy-datum, " aging date
    END OF x_kna1.
    DATA: BEGIN OF i_total OCCURS 0,
    waers LIKE bsid-waers,
    00_30 TYPE netwr_ak,
    31_60 TYPE netwr_ak,
    61_90 TYPE netwr_ak,
    91_120 TYPE netwr_ak,
    120pls TYPE netwr_ak,
    total TYPE netwr_ak,
    END OF i_total.
    DATA: i_ssfcrescl TYPE ssfcrescl.
    DATA: i_otf_final TYPE itcoo OCCURS 0 WITH HEADER LINE.
    DATA: i_ssfctrlop LIKE ssfctrlop OCCURS 0 WITH HEADER LINE.
    DATA: v_itcpo LIKE itcpo.
    DATA: BEGIN OF itab_vender OCCURS 0,
    vender LIKE kna1-kunnr,
    END OF itab_vender.
    DATA: BEGIN OF ioutput OCCURS 0,
    kunnr LIKE vbrk-kunrg,
    kname(50),
    email(50),
    error(1),
    END OF ioutput.
    DATA: vv_text(90).
    Structures *
    DATA: x_item LIKE rfposxext.
    DATA: x_t001 LIKE t001.
    DATA: x_bsegp LIKE bsegp.
    Variables *
    DATA: v_count TYPE i.
    DATA: v_dialog TYPE c VALUE 'X'.
    DATA: v_name1 LIKE kna1-name1,
    v_name2 LIKE kna1-name2,
    v_print LIKE tsp03l-padest,
    v_formname(20),
    v_flag.
    DATA: f_recap_report(1) TYPE c. " Flag for recap report
    DATA:
    BEGIN OF x_amt,
    amt00_ls LIKE bsid-wrbtr,
    00_30 LIKE bsid-wrbtr,
    31_60 LIKE bsid-wrbtr,
    61_90 LIKE bsid-wrbtr,
    91_120 LIKE bsid-wrbtr,
    120pls LIKE bsid-wrbtr,
    END OF x_amt.
    DATA: BEGIN OF itab_bill OCCURS 0,
    vbeln LIKE vbfa-vbeln,
    fplnr LIKE vbfa-fplnr,
    fpltr LIKE vbfa-fpltr,
    END OF itab_bill.
    DATA: v_sdate LIKE vbrk-fkdat,
    v_edate LIKE vbrk-fkdat,
    v_order(10) TYPE n.
    DATA: v_eddate(10), v_stdate(10).
    DATA: v_num TYPE i,
    v_stat,
    v_bill_prd(24),
    v_counter TYPE c.
    DATA: v_matnr LIKE vbrp-matnr,
    v_arktx LIKE vbrp-arktx,
    v_vbeln LIKE vbrp-vbeln,
    v_vvtext LIKE t176t-vtext,
    v_posnr LIKE vbap-posnr,
    v_kunnr_c LIKE vbak-kunnr,
    v_name_c(50),
    v_inv_date LIKE vbrk-fkdat,
    v_vdatu LIKE vbak-vdatu,
    v_auart LIKE vbak-auart,
    v_prctr LIKE vbap-prctr,
    v_zzihrez LIKE vbap-zzihrez_e,
    v_plant LIKE t001w-name1,
    p_form TYPE tdsfname,
    fm_name TYPE rs38l_fnam.
    DATA: i_ssfcompop TYPE ssfcompop OCCURS 0." WITH HEADER LINE.
    DATA: addr_no LIKE kna1-adrnr,
    last_name LIKE kna1-name1,
    first_name LIKE kna1-name1,
    pafkt LIKE knvk-pafkt,
    lang LIKE knvk-parla,
    v_land LIKE adrc-country,
    v_lines TYPE i.
    DATA: v_tabix LIKE sy-tabix, v_gjahr LIKE bsid-gjahr,
    v_kunnr LIKE vbak-kunnr, v_prodh LIKE vbap-prodh,
    v_vtext LIKE t179t-vtext.
    DATA: spno LIKE tsp01-rqident,
    mi_bytecount TYPE i,
    mstr_print_parms LIKE pri_params,
    downfile(128) VALUE 'c:\customer.pdf',
    mtab_pdf LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA: packing_list TYPE TABLE OF sopcklsti1 WITH HEADER LINE,
    contents_txt TYPE TABLE OF solisti1 WITH HEADER LINE,
    v_email LIKE adr6-smtp_addr,
    v_returncode,
    contents_hex TYPE TABLE OF solix," WITH HEADER LINE,
    w_contents_hex TYPE solix ,
    receivers TYPE TABLE OF somlreci1 WITH HEADER LINE.
    DATA: att_pos TYPE i.
    DATA: document_data LIKE sodocchgi1.
    DATA: esubject LIKE sood1-objdes. "subject line
    DATA: emsgs TYPE TABLE OF solisti1 WITH HEADER LINE.
    DATA: pdf TYPE TABLE OF tline WITH HEADER LINE.
    DATA: BEGIN OF itext OCCURS 200,
    text(132),
    END OF itext.
    DATA: i_fields LIKE sval OCCURS 0 WITH HEADER LINE.
    DATA: v_ccemail LIKE adr6-smtp_addr,
    v_check,
    v_kname(50).
    DATA: otf_data1 LIKE itcoo OCCURS 0 WITH HEADER LINE,
    i_itcpp LIKE itcpp.
    *FIELD-GROUPS: HEADER, ...
    FIELD-GROUPS: header,
    details.
    Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK a10 WITH FRAME TITLE text-sa1.
    SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-sa1.
    PARAMETERS : p_ex_ic AS CHECKBOX DEFAULT 'X'. "R3DK906903
    SELECTION-SCREEN END OF BLOCK a1.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01.
    SELECT-OPTIONS : s_kunnr FOR bsid-kunnr,
    s_bukrs FOR t001-bukrs OBLIGATORY.
    PARAMETERS : p_bdate LIKE sy-datum OBLIGATORY.
    PARAMETERS: p_vender AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-s11.
    PARAMETERS : r_group RADIOBUTTON GROUP r1,
    r_comp RADIOBUTTON GROUP r1.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-s13.
    PARAMETERS: p_print LIKE tsp03l-lname MATCHCODE OBJECT prin
    OBLIGATORY DEFAULT 'locl'.
    SELECTION-SCREEN END OF BLOCK b3.
    SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s14.
    PARAMETERS: v_immed AS CHECKBOX DEFAULT 'X',
    v_dele AS CHECKBOX DEFAULT 'X',
    ch_email AS CHECKBOX.
    *PARAMETERS:ch_down AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK b4.
    SELECTION-SCREEN END OF BLOCK a10.
    AT SELECTION-SCREEN.
    Selection Screen Validation.
    PERFORM validate_selection_screen.
    INITIALIZATION.
    INITIALIZATION.
    IF sy-sysid NE 'R3P'.
    v_email = .
    ENDIF.
    START-OF-SELECTION.
    START-OF-SELECTION.
    IF p_vender = 'X'.
    Fetch data from BSIK .
    PERFORM fetch_data_vender.
    Get Arrear Days
    PERFORM get_arrear_days_vender.
    ENDIF.
    Fetch data from BSID and BSAD.
    PERFORM fetch_data_from_bsid.
    Get Arrear Days
    PERFORM get_arrear_days.
    Format Data as per selection.
    PERFORM format_final_data.
    Print sapscript
    SORT i_last BY kunnr days DESCENDING.
    LOOP AT i_last.
    AT NEW kunnr.
    CLEAR: i_final, x_kna1.
    REFRESH: i_final, x_kna1.
    PERFORM get_address.
    PERFORM get_total.
    ENDAT.
    MOVE-CORRESPONDING i_last TO i_final.
    i_final-xblnr = i_final-zuonr.
    APPEND i_final.
    CLEAR i_final.
    AT END OF kunnr.
    SORT i_final BY days DESCENDING inv_chk total DESCENDING.
    PERFORM smart_from.
    ENDAT.
    ENDLOOP.
    END-OF-SELECTION.
    END-OF-SELECTION.
    *& Form FETCH_DATA_FROM_BSID
    text
    FORM fetch_data_from_bsid.
    fetch data from BSID into Internal table I_BSID.
    SELECT *
    FROM bsid
    INTO TABLE i_bsid
    WHERE bukrs IN s_bukrs AND
    kunnr IN s_kunnr AND
    budat LE p_bdate ."AND
    BELNR in ('0090000231','1400000131').
    Fetch data from BSAD into Internal table I_BSID.
    SELECT *
    FROM bsad
    APPENDING TABLE i_bsid
    WHERE bukrs IN s_bukrs AND
    kunnr IN s_kunnr AND
    budat LE p_bdate AND
    augdt GT p_bdate." AND
    DELETE i_bsid WHERE ( bukrs = '1500' OR bukrs = '3000' OR
    bukrs = '1400' ) AND
    ( umsks = 'E' OR umskz = 'E' ).
    *Exclude intercompany customers
    IF p_ex_ic = 'X'.
    DELETE i_bsid WHERE kunnr+0(2) EQ 'IC'.
    ENDIF.
    CLEAR sy-tfill.
    DESCRIBE TABLE i_bsid LINES sy-tfill.
    IF sy-tfill = 0.
    MESSAGE i999 WITH ' No data selected for the selection Condition'.
    STOP.
    ENDIF.
    ENDFORM. " FETCH_DATA_FROM_BSID
    *& Form Get_Arrear_Days
    text
    FORM get_arrear_days.
    SORT i_bsid BY bukrs belnr.
    LOOP AT i_bsid.
    for company code 1500 and 3000
    IF i_bsid-bukrs EQ '1500' OR i_bsid-bukrs EQ '3000'.
    MOVE i_bsid-xblnr TO i_bsid-belnr.
    ENDIF.
    MOVE i_bsid-bukrs TO itab_details-bukrs.
    MOVE i_bsid-xblnr TO itab_details-xblnr.
    MOVE i_bsid-belnr TO itab_details-belnr.
    MOVE i_bsid-gjahr TO itab_details-gjahr.
    MOVE i_bsid-kunnr TO itab_details-kunnr.
    APPEND itab_details.
    CLEAR itab_details.
    CLEAR x_item.
    AT NEW bukrs.
    READ TABLE i_bsid INDEX sy-tabix.
    CLEAR x_t001.
    SELECT SINGLE * FROM t001
    INTO x_t001
    WHERE bukrs = i_bsid-bukrs.
    ENDAT.
    for company code 1500 and 3000 .
    IF i_bsid-bukrs EQ '1500' OR i_bsid-bukrs EQ '3000'.
    MOVE i_bsid-xblnr TO i_bsid-belnr.
    ENDIF.
    MOVE-CORRESPONDING i_bsid TO x_item.
    x_item-koart = 'D'. " Debitor - Customer Indicator
    x_item-konto = bsid-kunnr. " Debitor - Customer Number
    x_item-dmshb = bsid-dmbtr.
    x_item-wrshb = bsid-wrbtr.
    Function module to get ARREAR days.
    CALL FUNCTION 'ITEM_DERIVE_FIELDS'
    EXPORTING
    s_t001 = x_t001
    s_bsegp = x_bsegp
    key_date = p_bdate
    CHANGING
    s_item = x_item
    EXCEPTIONS
    bad_input = 1
    OTHERS = 2.
    IF sy-subrc = 0.
    Populate I_TEMP_DATA for further processing.
    i_temp_data-bukrs = i_bsid-bukrs.
    i_temp_data-kunnr = i_bsid-kunnr.
    i_temp_data-belnr = i_bsid-belnr.
    i_temp_data-bldat = i_bsid-bldat.
    i_temp_data-shkzg = i_bsid-shkzg.
    i_temp_data-zfbdt = i_bsid-zfbdt.
    i_temp_data-zterm = i_bsid-zterm.
    i_temp_data-vbeln = i_bsid-vbeln.
    i_temp_data-waers = i_bsid-waers.
    IF x_item-verzn < 0.
    x_item-verzn = 0.
    ENDIF.
    i_temp_data-zuonr = i_bsid-zuonr.
    i_temp_data-days = x_item-verzn.
    i_temp_data-gjahr = i_bsid-gjahr.
    i_temp_data-kidno = i_bsid-kidno.
    i_temp_data-rebzg = i_bsid-rebzg.
    i_temp_data-xblnr = i_bsid-xblnr.
    i_temp_data-sgtxt = i_bsid-sgtxt.
    Changing the Sign
    IF i_bsid-shkzg = 'H'.
    i_temp_data-dmbe2 = i_temp_data-dmbe2 + ( -1 * i_bsid-dmbe2 ).
    i_temp_data-dmbtr = i_temp_data-dmbtr + ( -1 * i_bsid-dmbtr ).
    ELSE.
    i_temp_data-dmbe2 = i_temp_data-dmbe2 + i_bsid-dmbe2.
    i_temp_data-dmbtr = i_temp_data-dmbtr + i_bsid-dmbtr.
    ENDIF.
    i_temp_data-blart = i_bsid-blart.
    *for doc type DR
    IF i_bsid-blart = 'DR' AND i_bsid-bschl = '01'.
    IF i_bsid-sgtxt IS INITIAL.
    *Changed our phone number to
    MOVE 'Contact Flightsafety' TO i_temp_data-vtext.
    ELSE.
    MOVE i_bsid-sgtxt TO i_temp_data-vtext.
    MOVE 'Financial Invoice' TO i_temp_data-vvtext.
    ENDIF.
    ENDIF.
    *for doc type AB
    IF i_bsid-blart = 'AB' AND
    ( i_bsid-bschl GE '01' AND i_bsid-bschl LE '19' ).
    i_temp_data-bldat = i_bsid-zfbdt.
    i_temp_data-xblnr = i_bsid-vbeln.
    IF NOT i_bsid-sgtxt IS INITIAL.
    *Changed our phone nuber to
    MOVE 'Contact Flightsafety' TO i_temp_data-vtext.
    MOVE i_bsid-sgtxt TO i_temp_data-vtext.
    MOVE 'Financial Doc' TO i_temp_data-vvtext.
    ELSE.
    MOVE i_bsid-sgtxt TO i_temp_data-vtext.
    MOVE 'Financial Doc' TO i_temp_data-vvtext.
    ENDIF.
    ENDIF.
    *for doc type DG
    IF i_bsid-blart = 'DG' AND
    ( i_bsid-bschl GE '01' AND i_bsid-bschl LE '19' ).
    i_temp_data-bldat = i_bsid-zfbdt.
    i_temp_data-xblnr = i_bsid-vbeln.
    IF i_bsid-sgtxt IS INITIAL.
    *Changed our phone nuber to
    MOVE 'Contact Flightsafety' TO i_temp_data-vtext.
    ELSE.
    MOVE i_bsid-sgtxt TO i_temp_data-vtext.
    MOVE 'Financial Doc' TO i_temp_data-vvtext.
    ENDIF.
    ENDIF.
    *To display Debit memo and credit memo.
    IF i_bsid-blart = 'DG'.
    IF ( i_bsid-bschl GE '11' AND i_bsid-bschl LE '19' ).
    MOVE 'Credit Memo' TO i_temp_data-vvtext.
    ELSEIF ( i_bsid-bschl GE '01' AND i_bsid-bschl LE '09' ).
    MOVE 'Debit Memo' TO i_temp_data-vvtext.
    ENDIF.
    ENDIF.
    *for doc type DZ
    IF i_bsid-blart = 'DZ' AND
    ( i_bsid-bschl GE '01' AND i_bsid-bschl LE '19' ).
    IF i_bsid-sgtxt IS INITIAL.
    *changed our phone number to
    MOVE 'Contact Flightsafety' TO i_temp_data-vtext.
    ELSE.
    MOVE i_bsid-sgtxt TO i_temp_data-vtext.
    MOVE 'Cust Pmt' TO i_temp_data-vvtext.
    ENDIF.
    ENDIF.
    *Document type DZ and posting key 15
    IF i_bsid-blart = 'DZ' AND
    i_bsid-bschl EQ '15'.
    MOVE 'Cust Pmt' TO i_temp_data-vvtext.
    ENDIF.
    *Document type DZ and posting key 06.
    IF i_bsid-blart = 'DZ' AND
    i_bsid-bschl EQ '06'.
    MOVE 'Debit' TO i_temp_data-vvtext.
    ENDIF.
    *Document type DA and posting key 04, 14.
    IF i_bsid-blart = 'DA' AND
    i_bsid-bschl EQ '04' OR
    i_bsid-bschl EQ '14'.
    MOVE 'Cust Pmt' TO i_temp_data-vvtext.
    MOVE i_bsid-sgtxt TO i_temp_data-vtext.
    IF i_bsid-sgtxt IS INITIAL.
    MOVE 'Contact Flightsafety' TO i_temp_data-vtext.
    ENDIF.
    ENDIF.
    ENDIF.
    *billing period
    IF i_bsid-blart = 'RV' AND i_bsid-bschl = '01'.
    PERFORM billing_period USING i_temp_data-belnr
    i_temp_data-vbeln.
    ENDIF.
    AT END OF belnr.
    at end of zuonr.
    APPEND i_temp_data.
    CLEAR i_temp_data.
    ENDAT.
    ENDLOOP.
    PERFORM material_details.
    ENDFORM. " Get_Arrear_Days
    *& Form FORMAT_FINAL_DATA
    text
    FORM format_final_data.
    PERFORM pop_format_grp_curr_detail.
    CLEAR: itab_temp, i_total.
    REFRESH: itab_temp, i_total.
    itab_temp] = itab[.
    CLEAR itab.
    REFRESH itab.
    LOOP AT itab_temp.
    CLEAR itab.
    itab = itab_temp.
    CLEAR: itab-matnr.
    IF itab-belnr+0(2) = '14'.
    *Adding two 00 for the left alignment.
    CONCATENATE '00' itab-xblnr
    INTO itab-inv_chk.
    CONDENSE itab-inv_chk NO-GAPS.
    itab-inv_chk = itab-xblnr.
    itab-xblnr = itab-belnr.
    ELSE.
    itab-inv_chk = itab-belnr.
    ENDIF.
    COLLECT itab.
    ENDLOOP.
    CLEAR v_stat.
    SORT itab BY days inv_chk total DESCENDING.
    LOOP AT itab.
    *To display Aging totals in usd (if v_stat ne f) for
    *company code 1100,1300,2000.
    IF itab-bukrs NE '1100' AND
    itab-bukrs NE '1300' AND
    itab-bukrs NE '2000'.
    v_stat = 'F'.
    ENDIF.
    CLEAR: i_last-vvtext, tvzbt.
    MOVE-CORRESPONDING itab TO i_last.
    APPEND i_last.
    CLEAR i_last.
    ENDLOOP.
    ENDFORM. " FORMAT_FINAL_DATA
    *& Form POP_FORMAT_grp_CURR_DETAIL
    text
    FORM pop_format_grp_curr_detail.
    Populating the Final Internal table for report by Group Currency.
    CLEAR x_amt.
    SORT i_temp_data.
    LOOP AT i_temp_data.
    CLEAR: v_count.
    IF i_temp_data-sgtxt+0(10) = 'Spcfy in p'.
    i_temp_data-sgtxt = i_temp_data-sgtxt+32(18).
    MOVE i_temp_data-sgtxt TO i_temp_data-vtext.
    MODIFY i_temp_data.
    ENDIF.
    IF r_comp = 'X'.
    IF i_temp_data-days LT 0.
    x_amt-amt00_ls = x_amt-amt00_ls + i_temp_data-dmbtr.
    If between 1 and 30 Days.
    ELSEIF i_temp_data-days GE 0 AND i_temp_data-days LE 30.
    x_amt-00_30 = x_amt-00_30 + i_temp_data-dmbtr.
    If between 31 and 60 Days.
    ELSEIF i_temp_data-days GE 31 AND i_temp_data-days LE 60.
    x_amt-31_60 = x_amt-31_60 + i_temp_data-dmbtr.
    if between 61 and 90
    ELSEIF i_temp_data-days GE 61 AND i_temp_data-days LE 90.
    x_amt-61_90 = x_amt-61_90 + i_temp_data-dmbtr.
    if between 91 and 120
    ELSEIF i_temp_data-days GE 91 AND i_temp_data-days LE 120.
    x_amt-91_120 = x_amt-91_120 + i_temp_data-dmbtr.
    if > 120
    ELSEIF i_temp_data-days GT 120.
    x_amt-120pls = x_amt-120pls + i_temp_data-dmbtr.
    ENDIF.
    ELSE.
    if the group currency is selected
    IF i_temp_data-days LT 0.
    x_amt-amt00_ls = x_amt-amt00_ls + i_temp_data-dmbe2.
    If between 1 and 30 Days.
    ELSEIF i_temp_data-days GE 0 AND i_temp_data-days LE 30.
    x_amt-00_30 = x_amt-00_30 + i_temp_data-dmbe2.
    If between 31 and 60 Days.
    ELSEIF i_temp_data-days GE 31 AND i_temp_data-days LE 60.
    x_amt-31_60 = x_amt-31_60 + i_temp_data-dmbe2.
    if between 61 and 90
    ELSEIF i_temp_data-days GE 61 AND i_temp_data-days LE 90.
    x_amt-61_90 = x_amt-61_90 + i_temp_data-dmbe2.
    if between 91 and 120
    ELSEIF i_temp_data-days GE 91 AND i_temp_data-days LE 120.
    x_amt-91_120 = x_amt-91_120 + i_temp_data-dmbe2.
    if > 120
    ELSEIF i_temp_data-days GT 120.
    x_amt-120pls = x_amt-120pls + i_temp_data-dmbe2.
    ENDIF.
    ENDIF.
    Get Customer Name.
    SELECT SINGLE name1
    INTO itab-name1
    FROM kna1
    WHERE kunnr = i_temp_data-kunnr.
    Invoice and year
    AT END OF rebzg.
    READ TABLE i_temp_data INDEX sy-tabix.
    itab-zuonr = i_temp_data-zuonr.
    itab-bukrs = i_temp_data-bukrs.
    itab-kunnr = i_temp_data-kunnr.
    itab-belnr = i_temp_data-belnr.
    itab-gjahr = i_temp_data-gjahr.
    IF r_comp EQ 'X'.
    itab-waers = i_temp_data-waers.
    ELSE.
    itab-waers = 'USD'.
    ENDIF.
    itab-zfbdt = i_temp_data-zfbdt.
    itab-zterm = i_temp_data-zterm.
    itab-amt00_30 = x_amt-amt00_ls + x_amt-00_30.
    itab-amt31_60 = x_amt-31_60.
    itab-amt61_90 = x_amt-61_90.
    itab-amt91_120 = x_amt-91_120.
    itab-amt120pls = x_amt-120pls.
    itab-total = x_amt-amt00_ls + x_amt-00_30 +
    x_amt-31_60 + x_amt-61_90 +
    x_amt-91_120 + x_amt-120pls.
    itab-kunnr_c = i_temp_data-kunnr_c.
    itab-name_c = i_temp_data-name_c.
    itab-kidno = i_temp_data-kidno.
    itab-matnr = i_temp_data-matnr.
    itab-inv_date = i_temp_data-inv_date.
    itab-rebzg = i_temp_data-rebzg.
    itab-xblnr = i_temp_data-xblnr.
    itab-vtext = i_temp_data-vtext.
    itab-sgtxt = i_temp_data-sgtxt.
    itab-days = i_temp_data-days.
    itab-bldat = i_temp_data-bldat.
    itab-vvtext = i_temp_data-vvtext.
    itab-zzihrez_e = i_temp_data-zzihrez_e.
    itab-blart = i_temp_data-blart.
    itab-plant = i_temp_data-plant.
    Populating table.
    APPEND: itab.
    CLEAR : itab,
    x_amt.
    v_count = 1.
    ENDAT.
    IF v_count NE 1.
    itab-zuonr = i_temp_data-zuonr.
    itab-bukrs = i_temp_data-bukrs.
    itab-kunnr = i_temp_data-kunnr.
    itab-belnr = i_temp_data-belnr.
    itab-gjahr = i_temp_data-gjahr.
    itab-bldat = i_temp_data-bldat.
    IF r_comp EQ 'X'.
    itab-waers = i_temp_data-waers.
    ELSE.
    itab-waers = 'USD'.
    ENDIF.
    itab-zfbdt = i_temp_data-zfbdt.
    itab-zterm = i_temp_data-zterm.
    itab-kunnr_c = i_temp_data-kunnr_c.
    itab-name_c = i_temp_data-name_c.
    itab-kidno = i_temp_data-kidno.
    itab-matnr = i_temp_data-matnr.
    itab-inv_date = i_temp_data-inv_date.
    itab-rebzg = i_temp_data-rebzg.
    itab-xblnr = i_temp_data-xblnr.
    itab-vtext = i_temp_data-vtext.
    itab-sgtxt = i_temp_data-sgtxt.
    itab-days = i_temp_data-days.
    itab-zzihrez_e = i_temp_data-zzihrez_e.
    itab-plant = i_temp_data-plant.
    itab-vvtext = i_temp_data-vvtext.
    itab-blart = i_temp_data-blart.
    IF itab-matnr NE space.
    APPEND itab.
    CLEAR itab-plant.
    ELSE.
    ON CHANGE OF i_temp_data-kidno.
    READ TABLE i_temp_data INDEX sy-tabix.
    itab-zuonr = i_temp_data-zuonr.
    itab-bukrs = i_temp_data-bukrs.
    itab-kunnr = i_temp_data-kunnr.
    itab-belnr = i_temp_data-belnr.
    itab-gjahr = i_temp_data-gjahr.
    itab-bldat = i_temp_data-bldat.
    IF r_comp EQ 'X'.
    itab-waers = i_temp_data-waers.
    ELSE.
    itab-waers = 'USD'.
    ENDIF.
    itab-zfbdt = i_temp_data-zfbdt.
    itab-zterm = i_temp_data-zterm.
    itab-amt00_30 = x_amt-amt00_ls + x_amt-00_30.
    itab-amt31_60 = x_amt-31_60.
    itab-amt61_90 = x_amt-61_90.
    itab-amt91_120 = x_amt-91_120.
    itab-amt120pls = x_amt-120pls.
    itab-total = x_amt-amt00_ls + x_amt-00_30 +
    x_amt-31_60 + x_amt-61_90 +
    x_amt-91_120 + x_amt-120pls.
    itab-kunnr_c = i_temp_data-kunnr_c.
    itab-name_c = i_temp_data-name_c.
    itab-kidno = i_temp_data-kidno.
    itab-matnr = i_temp_data-matnr.
    itab-inv_date = i_temp_data-inv_date.
    itab-rebzg = i_temp_data-rebzg.
    itab-xblnr = i_temp_data-xblnr.
    itab-vtext = i_temp_data-vtext.
    itab-sgtxt = i_temp_data-sgtxt.
    itab-days = i_temp_data-days.
    itab-zzihrez_e = i_temp_data-zzihrez_e.
    itab-vvtext = i_temp_data-vvtext.
    itab-plant = i_temp_data-plant.
    APPEND itab.
    CLEAR: x_amt-amt00_ls, x_amt-00_30, x_amt-31_60,
    x_amt-61_90, x_amt-91_120 , x_amt-120pls.
    ENDON.
    ENDIF.
    CLEAR: itab.
    ENDIF.
    ENDLOOP.
    ENDFORM. " POP_FORMAT_grp_CURR_DETAIL
    *& Form material_details
    text
    --> p1 text
    <-- p2 text
    FORM material_details.
    SORT itab_details.
    DELETE ADJACENT DUPLICATES FROM itab_details.
    LOOP AT itab_details.
    CLEAR: v_counter, v_gjahr, v_kunnr, v_prodh, v_vbeln,
    v_vvtext, v_vtext.
    v_gjahr = itab_details-gjahr.
    v_kunnr = itab_details-kunnr.
    *Invoice Date/Billing date
    SELECT SINGLE fkdat FROM vbrk INTO v_inv_date
    WHERE vbeln = itab_details-xblnr.
    *material number, description and product hierarchy
    SELECT matnr arktx prodh FROM vbrp
    INTO (v_matnr, v_arktx, v_prodh)
    WHERE vbeln = itab_details-xblnr AND
    uepos = '00000'.
    CLEAR: v_vdatu, v_posnr, v_auart, v_prctr, v_zzihrez,
    v_kunnr_c, v_name1, v_name2, v_vtext, v_vvtext.
    *Find the contract/order no
    SELECT SINGLE vbelv posnv FROM vbfa INTO (v_vbeln, v_posnr)
    WHERE vbeln = itab_details-xblnr
    AND vbtyp_v IN ('C','G').
    *delivery date, document type, plant and reservation no
    SELECT SINGLE vbakvdatu vbakauart vbapprctr vbapzzihrez_e
    INTO (v_vdatu, v_auart, v_prctr, v_zzihrez)
    FROM vbak INNER JOIN vbap ON vbakvbeln = vbapvbeln
    WHERE vbap~vbeln = v_vbeln AND
    vbap~posnr = v_posnr AND
    vbap~abgru = space.
    *billing type
    SELECT SINGLE * FROM vbkd WHERE vbeln = v_vbeln.
    IF vbkd-bsark NE 'ZG01' OR vbkd-bsark NE 'ZO02'.
    SELECT SINGLE vtext FROM t176t INTO v_vvtext
    WHERE bsark = vbkd-bsark
    AND spras EQ sy-langu.
    ELSE.
    MOVE 'One Time' TO v_vvtext.
    ENDIF.
    *getting only the reservation number (no text)
    IF vbkd-ihrez_e+0(11) CO
    '0123456789'.
    ELSE.
    v_zzihrez = space.
    ENDIF.
    *location
    CONCATENATE '000000' v_zzihrez+0(4) INTO v_prctr.
    *plant name
    CLEAR v_plant.
    SELECT SINGLE ktext FROM cepct INTO v_plant WHERE
    prctr = v_prctr AND
    spras = sy-langu.
    *client no and name
    SELECT SINGLE vbpakunnr kna1name1 kna1~name2
    INTO (v_kunnr_c, v_name1, v_name2)
    FROM vbpa INNER JOIN kna1 ON
    vbpakunnr = kna1kunnr
    WHERE vbpa~vbeln = v_vbeln AND
    vbpa~parvw = 'Z3'.
    CONCATENATE v_name1 v_name2 INTO v_name_c
    SEPARATED BY space.
    READ TABLE i_temp_data WITH KEY bukrs = itab_details-bukrs
    belnr = itab_details-belnr
    gjahr = itab_details-gjahr.
    IF sy-subrc = 0.
    CLEAR: v_tabix.
    v_tabix = sy-tabix.
    IF v_counter IS INITIAL.
    MOVE v_plant TO i_temp_data-plant.
    MOVE v_zzihrez TO i_temp_data-zzihrez_e.
    MOVE v_kunnr_c TO i_temp_data-kunnr_c.
    MOVE v_name_c TO i_temp_data-name_c.
    MOVE v_gjahr TO i_temp_data-gjahr.
    MOVE v_kunnr TO i_temp_data-kunnr.
    IF v_auart EQ 'ZOTO' AND i_temp_data-inv_date IS INITIAL.
    MOVE v_inv_date TO i_temp_data-inv_date.
    ELSEIF i_temp_data-inv_date IS INITIAL.
    MOVE v_vdatu TO i_temp_data-inv_date.
    ENDIF.
    IF i_temp_data-vtext IS INITIAL.
    MOVE v_arktx TO i_temp_data-vtext.
    ENDIF.
    IF i_temp_data-vvtext IS INITIAL.
    MOVE v_vvtext TO i_temp_data-vvtext.
    ENDIF.
    MODIFY i_temp_data INDEX v_tabix.
    CLEAR i_temp_data.
    v_counter = 'T'.
    CLEAR: v_matnr,v_arktx,v_vbeln,v_name_c,v_vtext, v_prodh,
    v_kunnr_c, v_name1,v_name2, v_vdatu, v_vvtext.
    ELSE.
    CLEAR:i_temp_data-dmbe2, i_temp_data-dmbtr. " i_temp_data-wrbtr
    MOVE v_matnr TO i_temp_data-matnr.
    MOVE v_plant TO i_temp_data-plant.
    MOVE v_zzihrez TO i_temp_data-zzihrez_e.
    MOVE v_kunnr_c TO i_temp_data-kunnr_c.
    MOVE v_name_c TO i_temp_data-name_c.
    MOVE v_gjahr TO i_temp_data-gjahr.
    MOVE v_kunnr TO i_temp_data-kunnr.
    IF v_auart EQ 'ZOTO' AND i_temp_data-inv_date IS INITIAL.
    MOVE v_inv_date TO i_temp_data-inv_date.
    ELSEIF i_temp_data-inv_date IS INITIAL.
    MOVE v_vdatu TO i_temp_data-inv_date.
    ENDIF.
    MOVE v_arktx TO i_temp_data-vtext.
    APPEND i_temp_data.
    CLEAR i_temp_data.
    ENDIF.
    ENDIF.
    ENDSELECT.
    CLEAR:
    i_temp_data-kunnr_c,
    i_temp_data-name_c,i_temp_data-inv_date,
    i_temp_data-vtext.
    CLEAR: v_matnr,v_arktx,v_vbeln,v_name_c,
    v_kunnr_c, v_name1,v_name2,v_inv_date, v_vdatu,
    v_vtext, v_prodh.
    ENDLOOP.
    ENDFORM. " material_details
    *& Form get_address
    text
    FORM get_address.
    Get Address
    CLEAR: kna1, x_kna1, first_name, last_name,pafkt, lang, v_land.
    SELECT SINGLE * FROM kna1 INTO kna1 WHERE kunnr = i_last-kunnr.
    SELECT SINGLE name1 namev pafkt parla FROM knvk
    INTO (last_name, first_name, pafkt, lang)
    WHERE kunnr = i_last-kunnr
    AND abtnr = '0003'. "financial department
    IF sy-subrc NE 0.
    SELECT SINGLE name1 namev pafkt parla FROM knvk
    INTO (last_name, first_name, pafkt, lang)
    WHERE kunnr = i_last-kunnr.
    ENDIF.
    IF lang = ' '.
    lang = 'E'.
    ENDIF.
    SELECT SINGLE vtext FROM tpfkt INTO x_kna1-ptext
    WHERE pafkt = pafkt
    AND spras = lang.
    SELECT SINGLE name1 name2 street country FROM
    adrc INTO (x_kna1-name1, x_kna1-name2,
    x_kna1-street, v_land)
    WHERE addrnumber = kna1-adrnr.
    SELECT SINGLE landx FROM t005t INTO x_kna1-landx WHERE land1 = v_land
    AND spras = lang.
    TRANSLATE x_kna1-landx TO UPPER CASE. "#EC SYNTCHAR added by sony
    MOVE kna1-kunnr TO x_kna1-kunnr.
    MOVE kna1-ort01 TO x_kna1-ort01.
    MOVE kna1-regio TO x_kna1-regio.
    MOVE kna1-pstlz TO x_kna1-pstlz.
    MOVE p_bdate TO x_kna1-agdate.
    APPEND x_kna1.
    CLEAR: x_kna1.
    ENDFORM. " get_addres
    *& Form fetch_data_vender
    text
    --> p1 text
    <-- p2 text
    FORM fetch_data_vender.
    SELECT lifnr FROM kna1 INTO TABLE itab_vender
    WHERE kunnr IN s_kunnr.
    LOOP AT itab_vender.
    Fetch data from BSIK into Internal table I_BSIK.
    SELECT *
    FROM bsik
    APPENDING TABLE i_bsik
    WHERE bukrs IN s_bukrs AND
    lifnr EQ itab_vender-vender AND
    budat LE p_bdate AND
    blart IN ('KA', 'KG', 'KR', 'KZ', 'KF').
    Fetch data from BSAK into Internal table I_BSAK.
    SELECT *
    FROM bsak "#EC ENHOK "added by sony 06/05/08
    APPENDING TABLE i_bsik
    WHERE bukrs IN s_bukrs AND
    lifnr EQ itab_vender-vender AND
    budat LE p_bdate AND
    augdt GT p_bdate AND
    blart IN ('KA', 'KG', 'KR', 'KZ', 'KF').
    ENDLOOP.
    DELETE i_bsik WHERE ( bukrs = '1500' OR bukrs = '3000' ) AND
    ( umsks = 'E' OR umskz = 'E' ).
    ENDFORM. " fetch_data_vender
    *& Form GET_ARREAR_DAYS_vender
    text
    --> p1 text
    <-- p2 text
    FORM get_arrear_days_vender.
    SORT i_bsik BY mandt bukrs belnr.
    CLEAR: v_tabix.
    LOOP AT i_bsik.
    v_tabix = sy-tabix.
    SELECT SINGLE * FROM kna1 WHERE lifnr = i_bsik-lifnr.
    MOVE i_bsik-bukrs TO itab_details-bukrs.
    MOVE i_bsik-xblnr TO itab_details-xblnr.
    MOVE i_bsik-belnr TO itab_details-belnr.
    MOVE i_bsik-gjahr TO itab_details-gjahr.
    MOVE kna1-kunnr TO itab_details-kunnr.
    APPEND itab_details.
    CLEAR itab_details.
    CLEAR x_item.
    AT NEW bukrs.
    *company code details
    READ TABLE i_bsik INDEX sy-tabix.
    CLEAR x_t001.
    SELECT SINGLE * FROM t001
    INTO x_t001
    WHERE bukrs = i_bsik-bukrs.
    ENDAT.
    MOVE-CORRESPONDING i_bsik TO x_item.
    x_item-koart = 'D'. " Debitor - Customer Indicator
    x_item-konto = kna1-kunnr. " Debitor - Customer Number
    x_item-dmshb = bsik-dmbtr.
    x_item-wrshb = bsik-wrbtr.
    Function module to get ARREAR days.
    CALL FUNCTION 'ITEM_DERIVE_FIELDS'
    EXPORTING
    s_t001 = x_t001
    s_bsegp = x_bsegp
    key_date = p_bdate
    CHANGING
    s_item = x_item
    EXCEPTIONS
    bad_input = 1
    OTHERS = 2.
    IF sy-subrc = 0.
    Populate I_TEMP_DATA for further processing.
    i_temp_data-bukrs = i_bsik-bukrs.
    i_temp_data-kunnr = kna1-kunnr.
    i_temp_data-belnr = i_bsik-belnr.
    i_temp_data-bldat = i_bsik-bldat. "Document date in document
    i_temp_data-shkzg = i_bsik-shkzg.
    i_temp_data-zfbdt = i_bsik-zfbdt. " Base line date
    i_temp_data-zterm = i_bsik-zterm. "Terms of payment key
    i_temp_data-waers = i_bsik-waers.
    i_temp_data-days = x_item-verzn. " days in arrs
    i_temp_data-gjahr = i_bsik-gjahr. " year
    i_temp_data-kidno = i_bsik-kidno. " Payment Reference
    i_temp_data-rebzg = i_bsik-rebzg. " Number of the Invoice the
    "Transaction Belongs to
    i_temp_data-xblnr = i_bsik-xblnr.
    i_temp_data-sgtxt = i_bsik-sgtxt. " Item Text
    Changing the Sign
    IF i_bsik-shkzg = 'H'.
    i_temp_data-dmbe2 = -1 * i_bsik-dmbe2.
    i_temp_data-dmbtr = -1 * i_bsik-dmbtr.
    ELSE.
    i_temp_data-dmbe2 = i_bsik-dmbe2.
    i_temp_data-dmbtr = i_bsik-dmbtr.
    ENDIF.
    ENDIF.
    APPEND i_temp_data.
    CLEAR i_temp_data.
    ENDLOOP.
    PERFORM material_details.
    ENDFORM. " Get_Arrear_DaysENDFORM.
    " GET_ARREAR_DAYS_vender
    *& Form convert_pdf
    text
    --> p1 text
    <-- p2 text
    FORM convert_pdf.
    CLEAR: tsp01.
    CLEAR: mtab_pdf, mi_bytecount.
    REFRESH mtab_pdf.
    FREE mtab_pdf.
    ***convert to PDF format
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
    format = 'PDF'
    IMPORTING
    bin_filesize = mi_bytecount
    TABLES
    otf = i_otf_final
    lines = mtab_pdf
    EXCEPTIONS
    err_max_linewidth = 1
    err_format = 2
    err_conv_not_possible = 3
    OTHERS = 4.
    IF sy-subrc 0.
    ENDIF.
    CONDENSE itab-kunnr NO-GAPS.
    CONCATENATE 'C:\' itab-kunnr '_' sy-datum '.pdf' INTO downfile.
    IF ch_down = 'X'.
    PERFORM download_pdf.
    ENDIF.
    IF ch_email = 'X'.
    PERFORM send_email.
    ENDIF.
    ENDFORM. " convert_pdf
    *& Form download_pdf
    text
    --> p1 text
    <-- p2 text
    FORM download_pdf.
    DATA: i_downfile TYPE string.
    i_downfile = downfile.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    bin_filesize = mi_bytecount
    filename = i_downfile
    filetype = 'BIN'
    IMPORTING
    FILELENGTH =
    TABLES
    data_tab = mtab_pdf[]
    EXCEPTIONS
    file_write_error = 1
    no_batch = 2
    gui_refuse_filetransfer = 3
    invalid_type = 4
    no_authority = 5
    unknown_error = 6
    header_not_allowed = 7
    separator_not_allowed = 8
    filesize_not_allowed = 9
    header_too_long = 10
    dp_error_create = 11
    dp_error_send = 12
    dp_error_write = 13
    unknown_dp_error = 14
    access_denied = 15
    dp_out_of_memory = 16
    disk_full = 17
    dp_timeout = 18
    file_not_found = 19
    dataprovider_exception = 20
    control_flush_error = 21
    OTHERS = 22
    IF sy-subrc 0.
    ENDIF.
    ENDFORM. " download_pdf
    *& Form send_email
    text
    --> p1 text
    <-- p2 text
    FORM send_email.
    CLEAR: packing_list[],
    pdf[],
    contents_txt[],
    contents_hex[],
    receivers[],
    att_pos,
    document_data,
    esubject,emsgs[],
    w_contents_hex.
    PERFORM packing_list.
    PERFORM set_data.
    IF v_check NE 'X'.
    PERFORM send_email_message.
    ENDIF.
    ENDFORM. " send_email
    *& Form packing_list
    text
    --> p1 text
    <-- p2 text
    FORM packing_list.
    Concatenate the PDF material into the attachments table.
    PERFORM append_pdf_to_attachments USING mi_bytecount.
    Describe the attachment
    CLEAR packing_list.
    REFRESH packing_list.
    packing_list-transf_bin = 'X'.
    ADD 1 TO att_pos.
    packing_list-body_start = att_pos.
    DESCRIBE TABLE contents_hex LINES att_pos.
    packing_list-body_num = att_pos.
    packing_list-doc_type = 'PDF'.
    CONCATENATE 'Statement Date'
    sy-datum4(2) '/' sy-datum6(2) '/'
    sy-datum+2(2) '-' 'Customer no -' itab-kunnr
    INTO packing_list-obj_descr.
    packing_list-obj_langu = 'E'.
    packing_list-doc_size = mi_bytecount.
    APPEND packing_list.
    ENDFORM. " packing_list
    *& Form set_data
    text
    --> p1 text
    <-- p2 text
    FORM set_data.
    CLEAR: sy-tfill.
    DESCRIBE TABLE contents_hex LINES sy-tfill.
    IF sy-tfill GT 0.
    DATA: lines TYPE TABLE OF tline WITH HEADER LINE.
    By this point, the attachments have been created. Now we supply body
    text and set up the recipients.
    CONCATENATE 'Customer Statement for Customer - '
    itab-kunnr esubject INTO esubject.
    The message header information
    CLEAR document_data.
    document_data-obj_name = 'ZWRAPPER'.
    document_data-obj_descr = esubject.
    document_data-obj_langu = 'E'.
    document_data-obj_prio = '1'.
    CLEAR: contents_txt, contents_txt], itext[, itext.
    IF sy-sysid NE 'R3P'.
    CONCATENATE 'Please ignore this mail. This is part of testing from '
    sy-sysid INTO contents_txt SEPARATED BY space.
    APPEND contents_txt.
    CLEAR: contents_txt.
    APPEND contents_txt.
    ENDIF.
    CLEAR vv_text.
    CONCATENATE 'Enter Body of the Email and SAVE it for customer '
    itab-kunnr itab-name1 INTO vv_text SEPARATED BY space.
    EDITOR-CALL FOR itext TITLE vv_text.
    LOOP AT itext.
    contents_txt = itext-text.
    APPEND contents_txt.
    ENDLOOP.
    Describe the body data. This descriptor has to be the first, in front
    of all the attachments.
    CLEAR packing_list.
    packing_list-transf_bin = space.
    packing_list-body_start = 1.
    DESCRIBE TABLE contents_txt LINES packing_list-body_num.
    packing_list-doc_type = 'RAW'.
    packing_list-obj_langu = 'E'.
    INSERT packing_list INDEX 1.
    Set up the recipients.
    CLEAR: receivers, receivers[], sy-tfill.
    CLEAR: usr21, adr6.
    *find email address.
    IF sy-sysid = 'R3P'.
    SELECT prsnr FROM knvk INTO knvk-prsnr WHERE kunnr = itab-kunnr.
    SELECT SINGLE adrnr name1 name2 FROM kna1 INTO
    (kna1-adrnr, kna1-name1, kna1-name2)
    WHERE kunnr = itab-kunnr.
    SELECT SINGLE smtp_addr INTO v_email FROM adr6
    WHERE addrnumber EQ kna1-adrnr.
    IF sy-subrc NE 0.
    CLEAR: v_email.
    ELSE.
    EXIT.
    ENDIF.
    ENDSELECT.
    ENDIF.
    *find the user email address.
    CLEAR: usr21, adr6.
    SELECT SINGLE * FROM usr21 WHERE bname = sy-uname.
    CLEAR adr6.
    SELECT SINGLE * FROM adr6 WHERE addrnumber = usr21-addrnumber AND
    persnumber = usr21-persnumber.
    v_ccemail = adr6-smtp_addr.
    CLEAR:i_fields.
    REFRESH:i_fields.
    i_fields-tabname = 'COMPMSG'.
    i_fields-fieldname = 'TEXT'.
    i_fields-fieldtext = 'Email'.
    i_fields-value = v_email.
    APPEND i_fields.
    CLEAR i_fields.
    i_fields-tabname = 'T100'.
    i_fields-fieldname = 'TEXT'.
    i_fields-fieldtext = 'CC to'.
    i_fields-value = v_ccemail.
    APPEND i_fields.
    CLEAR i_fields.
    CLEAR v_returncode.
    CALL FUNCTION 'POPUP_GET_VALUES'
    EXPORTING
    popup_title = 'Email Address.'
    start_column = '25'
    start_row = '2'
    IMPORTING
    returncode = v_returncode
    TABLES
    fields = i_fields
    EXCEPTIONS
    error_in_fields = 1
    OTHERS = 2.
    IF sy-subrc 0.
    ENDIF.
    IF v_returncode NE 'A'.
    *find the new condition value (table name and filed name took itfor char
    LOOP AT i_fields WHERE tabname = 'COMPMSG' AND fieldname = 'TEXT'.
    v_email = i_fields-value.
    ENDLOOP.
    LOOP AT i_fields WHERE tabname = 'T100'
    AND fieldname = 'TEXT'.
    v_ccemail = i_fields-value.
    ENDLOOP.
    ENDIF.
    receivers-receiver = v_email.
    receivers-rec_type = 'U'. "..assume it's an internet address
    APPEND receivers.
    receivers-receiver = v_ccemail.
    receivers-rec_type = 'U'.
    receivers-copy = 'X'.
    APPEND receivers.
    SORT receivers BY receiver.
    DELETE ADJACENT DUPLICATES FROM receivers COMPARING receiver.
    ENDIF.
    CLEAR: v_check.
    IF v_email = space.
    v_check = 'X'.
    MOVE itab-kunnr TO ioutput-kunnr.
    MOVE v_kname TO ioutput-kname.
    MOVE v_email TO ioutput-email.
    MOVE 'X' TO ioutput-error.

    Hi
    Looks like BASIS issue.
    Pls check the OSS Note - Note 787418 - Sent documents are not readable after upgrade
    Pls contact your BASIS person
    Regards
    MD

  • Plug in compatability between BW plugin in R/3 and BI - R/3 upgrade to ECC6

    Hello,
    we are running SAP NetWeaver BI 7.0  Release 700 Patch 19.
    Our underlying R/3 system is still 4.6C with plugin 2004_1_46C ( yes, I know it is time )
    We are upgrading R/3 to ECC6 with plug in P701 Patch 3.
    Questions:
    1.) I would like to know where exactly I can see which ECC6 plugin is copmpatible with our BI Version.
    2.) Did anyone who has upgraded to ECC6 experience any particular issues when upgrading the plugin?
    3.) Sense check of approach - so far the simplistic idea from a BW perspective is:
    New R/3 system has been created and connected to BW :
    1.)     In BW ACTIVATE SOURCE SYSTEM
    2.)     In source system connection option : Replicate datasources and activate
    3.)     Transfer global settings u2013 first simulate then update tables u2013 no rebuild should be necessary
    Before the Plugin P 701 in the R/3 ( ECC6 ) system can be upgraded the BW delta queues need to be cleared in the source system ( R/3.)
    4.)     Clear out V3 queue either via BW as part of the jobplan ( or manually via RSA7 but would mean loss of data )
    5.)     After run of batch schedule during posting free period check in RSA7 for entries in delta queue - should be empty    
                         now.
    6.)     Does the clearing of the delta might need to be run twice to clear the queue completely ?????
    8.)                 Deactivate logistics cockpit via SBIW ...LEBW ( is this mandatory ? )
    9.)                 If delta queues are empty and the logistics cockpit is deactivated then upgrade the plug ins in R/3
    10.)               Then repeat step 1-3 and reactivate the logistics cockpit again
    Is this it?
    Many thanks for advise on this.
    Regards
    ChrisAC

    SAP Note : 153967 and
    https://service.sap.com/r3-plug-in should give some information on plug in compatibility...
    8.) Deactivate logistics cockpit via SBIW ...LEBW ( is this mandatory ? )  - I think you just need to desachedule the collection jobs alone and not deactivate the LO Extractors and activate them once again...
    Edited by: Arun Varadarajan on Oct 9, 2009 11:43 PM

  • SPLITTING MORE THAN ONE LINE ITEM IN ECC6.0

    Hi everyone.
    I am using New GL functionality in ECC6.0. I have a big question regarding multiple objects splitting. Ej: Purchase of a service.
    If I set one cost centre in the expense line item, the profit centre and segment are determined automatically in the vendor line (in the vendor invoice).
    Then I post the payment and, without introducing any cost object, the profit centre and segment are determined automatically in both balance line items. Everything is ok.
    However if in the original vendor invoice I use 2 cost lines with different cost centres: New GL splits everything alright and I get the vendor lines splitted with the right profit centre. When I post the payment, with new GL I don't get any split or balance line are properly posted with a PC.
    Resuming, splitting works properly in both vendor invoice and manual outgoing payment when originally there is only one cost line and one cost centre. However, when using 2 cost line with different cost centres, splitting is only working in the vendor invoice but I can't get it work in the manual outgoing payment.
    Thanks for your help.
    Miguel

    There is a config setting called classify document type for document splitting, or something like that.
    Here you have all of your doc types, and then you assign a business transactions
    The point I am making is that you need to check there, and that the config for the business transactions are the same.
    Can you confirm if the payment document actually posted. If it did then it passed the config rules you have set for doc splitting. Make sure you are looking at like for like and both documents are the general ledger view and not the entry view.

  • How to replace obsolete download function module in ECC6.0?

    Hi Experts,
    How to replace obsolete download function module in ECC6.0?
    Thanks,
    Adi.

    Hi,
    DOWNLOAD is obsolete FM in ECC 6. To get the same functionality , we need to use
    CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG  method (It provides the File selection feature)
    and
    GUI_DOWNLOAD function module.(It downloads the internal table from program to presentation server)
    Please see the example below:
    Example:
    *CALL FUNCTION 'DOWNLOAD'
              EXPORTING
                   FILENAME            = p_filename
                   FILETYPE            = ‘DAT’
              TABLES
                   DATA_TAB            = T_DOWNL
              EXCEPTIONS
                   INVALID_FILESIZE    = 1
                   INVALID_TABLE_WIDTH = 2
                   INVALID_TYPE        = 3
                   NO_BATCH            = 4
                   UNKNOWN_ERROR       = 5
                   OTHERS              = 6.
    *End of deletion CH01-
    Replacement Method for above code:
    DATA: l_filename    TYPE string,
           l_filen       TYPE string,
           l_path        TYPE string,
           l_fullpath    TYPE string,
           l_usr_act     TYPE I.
    l_filename = P_filename.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
      EXPORTING
        DEFAULT_FILE_NAME    = l_filename
      CHANGING
        FILENAME             = l_filen
        PATH                 = l_path
        FULLPATH             = l_fullpath
        USER_ACTION          = l_usr_act
      EXCEPTIONS
        CNTL_ERROR           = 1
        ERROR_NO_GUI         = 2
        NOT_SUPPORTED_BY_GUI = 3
        others               = 4.
    IF sy-subrc = 0
          AND l_usr_act <>
          CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        FILENAME                        = l_fullpath
       FILETYPE                        = 'DAT'
      TABLES
        DATA_TAB                        = T_DOWNL
    EXCEPTIONS
       FILE_WRITE_ERROR                = 1
       NO_BATCH                        = 2
       GUI_REFUSE_FILETRANSFER         = 3
       INVALID_TYPE                    = 4
       NO_AUTHORITY                    = 5
       UNKNOWN_ERROR                   = 6
       HEADER_NOT_ALLOWED              = 7
       SEPARATOR_NOT_ALLOWED           = 8
       FILESIZE_NOT_ALLOWED            = 9
       HEADER_TOO_LONG                 = 10
       DP_ERROR_CREATE                 = 11
       DP_ERROR_SEND                   = 12
       DP_ERROR_WRITE                  = 13
       UNKNOWN_DP_ERROR                = 14
       ACCESS_DENIED                   = 15
       DP_OUT_OF_MEMORY                = 16
       DISK_FULL                       = 17
       DP_TIMEOUT                      = 18
       FILE_NOT_FOUND                  = 19
       DATAPROVIDER_EXCEPTION          = 20
       CONTROL_FLUSH_ERROR             = 21
       OTHERS                          = 22.

  • Follow up activities after SAP (CU&UC) upgrade from SAP 4.6c to ECC6 EHP4

    Dear Friends
    We have completed SAP (CU&UC) upgrade from SAP 4.6c to ECC6 EHP4.
    We refereed the upgrade guide for follow activities and we required confirmation before performing the activities.
    Could you please help us what needs to be done immediately after upgrade.
    Regards,
    Bharathi

    Dear Nils,
    Thanks for the support.
    Yes, we are following the same document 'CUUC46C_to_NW701SP07' for unicode conversion after the upgrade from the note 928729.
    Please suggest us in that document which are the steps should be carried out after ECC6.0 EHP4 upgrade,
    1. Preparation
    2. Unicode Preconversion Phase in SAP Basis 4.6C
    3. Upgrade Process
    4. Unicode Conversion Phase
    5.  Unicode Conversion Completion Phase
    6. SAP Notes
    Regards,
    Bharathi

Maybe you are looking for

  • Saving Sliced files in Illustrator CS6 like it was in CS5 "Save for web and devices" gone?

    Hello, I used to save all my slices in CS5 and it would give me the option to save for web and devices, then when I was in there it would let me choose the option at the bottom Other... then I could go in and save it as a html and images and then it

  • How to scroll within a day in month view?

    Busycal can scroll within a day in month view (eg. too  many events in a day that requires you to open the day view to see all the events). Can this be done in iCal?

  • Statistics indicator option in Ad hoc query for IT0033

    Hi, My client is trying to run the ad hoc query for IT0033 and not able to see the "Statistics indicator"  fields in the selection so is there a way to add this field to ad hoc query so it will facilitate to query on this field ? please advice. Thank

  • Message bar at bottom

    I have 2 forms. Both are menus that has a few buttons on the forms. However, one form (menu1) has no message bar at the bottom. And the other form (menu2) has a message bar at the bottom. Why? How can I set the message bar off and on? I did check the

  • What are the user defind functions

    hi all, what are the user defind functions. Regards, priya