Catalog Activities

Hello,
I have created Code and code groups under the catalog.
I have used B - Object parts, C - Overview of damage, 5 - Causes and A - Activities (PM)
I have dfined 10 objects and for each object I have defined overview of damage, causes and acitivites(PM)
Next I made a general catalog profile 00000001 and gave B, C, 5 and A and * as the option and assigned the same in the equipment master.
Now when I create the notification for that equipment I can see all the objects, overview of damage and causes in the first page. But when I go into the last tab Activities and want to select the code I am not getting any option there. What can be the possible problem. Please help.
Regards,
Narendra Bora

Hi Narasimha,
I am able to see activity tab but not able to see my activity codes and code groups.
As said by you do i need to do this "You also have to map notification type to activity catalog in config "? If yes how do I?
Regards,
Narendra Bora

Similar Messages

  • SAP  Bussiness One para Iphone

    Hola,
       Estoy tratando de generar la integración a mi movil Iphone pero si resultado probe con el puerto 8445 y los certificado SSL, también tengo activa la licencia Bi mobile y los regitros de usuario movil  pero no tengo resultados positivos en la conexión me indica que falla la conexion con el servidor (-1004)
    Alguna ayuda pls...
    Saludos
    Fabian...

    Estimados,
    Adicionalmente a lo anterior, les remito información de  otra nota que puede ser de utilidad para solventar los problemas
    SAP Business One Notes
    Statistic124| Printer-Friendly Version | PDF Version | Add to favorites | Subscribe | Quick link
         1602674 - SAP Business One mobile app for iOS - Troubleshooting and compatibility information
    Version   89     Validity: 02.09.2014 - active
    Symptom
    You followed the documentation for the "SAP Business One mobile app for iOS", however, the mobile application does not work properly and you require assistance with troubleshooting.
    If you are using SAP Business One mobile app for Android see SAP note 1924930.
    Solution
    This document contains a list of frequently asked question and troubleshooting tips for the "SAP Business One mobile app for iOS":
    SAP Business One mobile app for iOS - Version Information
    SAP Business One mobile app for iOS - Compatibility Concept
    Troubleshooting Tool
    Error: “Permission Denied”
    Error: "Connection Failed - The request timed out. (-1001)", “Processing Failed - Internal server error; contact your system administrator”
    Runtime issues
    Device ID in version 1.10.0 and higher (error: “Permission Denied”)
    Troubleshoot SAP HANA features in the SAP Business One mobile app
    1. SAP Business One mobile app for iOS - Version Information
      The following table shows relevant mobile app versions and their major features. It also shows which backend version is required to enable all the latest app functions.
    Note that the app version and the backend version are not mandatorily coupled, however the version combination has an impact on a specific function.
    For information about the compatibility concept, see SAP Business One mobile app for iOS - Compatibility Concept. 
    App Version
    What’s New
    Main new features only supported in
    conjunction with backend version (or higher)
    1.11.1
    • Cockpit and advanced dashboard integration for SAP HANA (iPad only)
    • Support for downloading/uploading attachments to business partners, sales documents, activities, and service calls
    • Function for copying contacts from business partners to device address book and vice versa
    • Display of delivery documents
    • Enforcement of valid SSL certificates (SAP Notes reference 2019275)
    • Option for providing feedback about the app
    • Improvements for sales documents, sales catalog, activities, and business partners (such as Customer Ref No. and Business Partner Project for sales documents, price list for business partner, tab “My” for business partner, system fields selection for sales catalog, and address field for activity)
    Attention: Valid SSL certificates are mandatory for SAP Business One mobile apps now, you need to have a valid SSL certificate! Please see SAP note 2019275 for details
    SAP Business One 9.1 PL05
    SAP Business One 9.1, version for SAP HANA PL05
    1.10.3
    • Optimizations for iOS 8 and iPhone 6 / iPhone 6 Plus
    • Mobile approval remark optional (SAP Notes reference 2045807)
    • Activities module stuck in mobile app (SAP Notes reference 2090470)
    • Address component is missing in Sales Order/Quotation created in mobile app (SAP Notes reference 2081968)
    n/a
    1.10.1
    • Advanced security concept for SSL connections and configurable warning of invalid SSL certificates - see SAP note 2019275
    • The Apple Mac address is replaced with a device ID and “Permission Denied” is displayed on incorrect device ID setting
    • Several technical improvements
    n/a
    1.10.0
    New functions:
    • Sales documents undergo significant enhancements, such as print layout, multiple item selection, editable header information in opportunities, and sales employee assignment in header or stage information
    • Added module ‚Activities‘ with substantial functional extensions, such as activity type and follow up definition for subject and activity level
    • Improved Sales Catalog supports price lists, user defined fields selection, and refresh of single products
    • Alerts allow to drill down to the document
    • Instant printing of documents and reports with AirPrint
    • Extensive personalized settings for each module
    • Modified concept for extending the app
    Please note further change:
    Device ID replaces the Apple MAC address, changing mobile user master data is required. For more information see Retrieving the Mobile Device ID in the Full Guide / Documentation: SAP Business One for iOS
    SAP Business One 9.0 PL12
    SAP Business One 9.0, version for SAP HANA PL12
    SAP Business One 9.1 PL00
    SAP Business One Cloud 1.1 PL02
    1.9.6
    • Support for SAP Business One Cloud 1.1 and SAP Business One 9.0, version for SAP HANA PL03
    • Several minor technical improvements
    n/a
    1.9.5
    • iOS 7 user experience
    • Enterprise search for SAP Business One analytics powered by SAP HANA (currently only available on iPad)
    • Enhanced user-defined fields (SAP Notes reference 1904867)
    • Map for Business Partner addresses (SAP Notes reference 1901170)
    • Several minor improvements
    SAP Business One 8.82 PL13
    SAP Business One 9.0 PL06
    SAP Business One 9.0, version for SAP HANA PL02
    SAP Business One Cloud 1.0 SP02
    1.9.3
    • Enhanced user-defined fields (SAP Notes reference 1886340)
    • Contact Person ID field supports special characters (SAP Notes reference 1874087)
    • User defined code in SBO_SP_TransactionNotification (SAP Notes reference 1882062)
    SAP Business One 8.82 PL13
    SAP Business One 9.0 PL06
    SAP Business One 9.0, version for SAP HANA PL02
    SAP Business One Cloud 1.0 SP02
    1.9.1
    • Sales catalog showcasing products with descriptions and illustrations, featured by interactive comparison and order/quotation integration (iPad only)
    • Assignment of sales employees when editing sales orders or sales quotations
    • Option of adding activities to sales opportunities
    • Filters for lists of business partners, opportunities, and service calls
    • Payment terms and default pricelist for business partners
    • Support for SAP Business One 9.0 (in conjunction with SAP Business One 9.0 PL04 only)
    • Features for pervasive analytics on SAP Business One 9.0, version for SAP HANA, such as cube data source, predictive ability, and a customized dashboard
    SAP Business One 8.82 PL12
    SAP Business One 9.0 PL04
    SAP Business One 9.0, version for SAP HANA PL00
    SAP Business One Cloud 1.0 SP02
    1.8.4
    This patch fixes the following issues:
    • Dashboards aren’t refreshing on iOS 6.0 or higher (SAP Note 1812643)
    • “Error - Cannot get document details” on opening Sales Quotations (SAP Note 1812716)
    • Pervasive analytics is not available for SAP Business One 8.82, version for SAP HANA (SAP Note 1823852)
    • The report module is missing when connected to SAP Business One Cloud 1.0 (SAP Note 1800897)
    SAP Business One 8.82, version for SAP HANA PL02 /
    SAP Business One 8.82 PL11
    1.8.1
    Several new scenarios* in conjunction with SAP Business One, version for SAP HANA, which uses SAP's in-memory technology:
    • Enterprise Search integration
    • Pervasive analytics for BPs and inventory
    • Cash flow forecast dashboard
    • Available-to-Promise (ATP) check when creating sales orders
    • Delivery rescheduling for existing sales order items
    Additional enhancements include:
    • "Warehouse" and "Delivery Date" can be changed for existing document items
    • Inventory can be displayed by warehouse when creating sales documents
    • User-defined fields are supported at document row level
    • Validation check is performed for mandatory user-defined fields
    • Date picker supports time selection for task-type activities
    • SAP Business One Cloud is supported with a domain user logon and an automatic configuration using the link from an e-mail
    * Some of these scenarios are only available on iPad, please see the Full Guide / Documentation for details.
    SAP Business One 8.82, version for SAP HANA PL01 /
    SAP Business One 8.82 PL10
    1.7.5
    This patch fixes an issue on the iPhone, where an item that is added to a sales order or quotation may overwrite an existing item (SAP Note 1780603)
    SAP Business One 8.82 PL09
    1.7.0
    • Non-concurrent access with up to two mobile devices per user allowed
    • Support of selection criteria for the SAP Crystal Reports software
    • Selection of a company database from a list at logon
    • Enhanced sales documents with additional options for handling, viewing, and editing
    • Use of SAP's in-memory technology with generic support of SAP Business One, version for SAP HANA
    • Optimized for iOS 6 and iPhone 5
    SAP Business One 8.82 PL09
    1.6.0
    • Sales order enhancements, such as approval, additional fields, and default BP currency
    • Improved user interface for iPad
    • Multiple Branches support (Brazilian localization, refer SAP Note 1648713)
    • MAC address of device used for authorization instead of UDID (find MAC address in settings->General->About->Wi-Fi Address)
    Please note: Version 1.6.0 requires iOS 5.0 or later
    SAP Business One 8.82 PL06
    1.5.0
    • Creation of Sales Order/Sales Quotation
    • Handling of Service calls
    • The last version to support iOS4.x - Please note: Last version for iOS lower than 5.0
    SAP Business One 8.82 PL03
    1.4.0
    • Creation of sales opportunities
    • Customizable KPI/home screen layouts and extended to-do list
    • New module "Service Contract", barcode scanning for goods service
    • Additional dashboard "Purchase Quotations" - dashboards offer improved performance, and option to send using email
    • Integration of the documentation and customer specific help
    SAP Business One 8.81 PL09
    1.3.0
    • View your business partner related sales documents (sales quotation/sales opportunity/sales order)
    • Set a specific SAP Business One company database in the app. For more information, refer SAP Note 1606567
    • Monitor your key business data such as sales analysis and cash flow in the new interactive dashboards
    • Create or modify business partner address and contacts now
    • Synchronize your SAP Business One activities into the calendar of the device
    • Benefit from a faster server-connection, simplified UDF logic, the retina display support on iPhone 4, and enjoy our new overall design
    SAP Business One 8.81 PL07
    1.2.0
    • User authorization considered on the functional level
    • Detailed information about stock, listed by warehouse
    • User-defined fields (UDF) can be displayed in master data and transactions
    SAP Business One 8.81 PL05
    Top
    2. SAP Business One mobile app for iOS - Compatibility Concept
    SAP regularly ships minor releases or patches for the app containing new functions as well as improvements and bug fixes. To benefit from this, the latest version of the app and the backend software must be run.
    As updates on mobile devices are not typically managed by a central IT department, it is the responsibility of end users to update the app to the latest version.
    Because the mobile app is both backward and forward compatible, it is always safe to upgrade the app on the mobile device; the backend server can remain on the current release of SAP Business One.
    However, if the backend is installed on an older version of SAP Business One that does not support the latest functions of the most recent mobile app, some new functions will not work. When the user accesses such a function a pop-up window appears, informing the user that the backend must be upgraded to enable the selected function. All mobile app functions that were supported by the older version of SAP Business One still work. In the reverse case, if the backend is installed on a later version of SAP Business One than the mobile app, the functionality of the mobile app is fully maintained and works as designed.
    Top
    3. Troubleshooting Tool
    The troubleshooting tool checks a) whether the user is authenticated b) whether the mobile settings are correct. Refer to SAP Note 1840117 for details and instructions.
    For B1iF 1.17.5 (SAP Business One 8.82 PL12 and 9.0 PL04) and above versions, this tool is built-in to the Integration Component (Tools -> Trouble Shooting -> Select [B1 Mobile] in Functional Group -> Click Submit)
    For versions below B1iF 1.17.5, the tool can be installed manually, refer to SAP Note 1840154
    Starting from B1iF version 1.20 on (SAP Business One 8.82 PL17 and 9.0 PL12), this tool can also be used with SAP HANA database
      Top 
    4. Error: “Permission Denied”
    This error type shows that the server is accessed properly and returns an answer to the mobile. The error message on mobile contains relevant information which helps troubleshooting, such as: company DB, user ID, phone number, and Device ID. The most common root causes are:
    Root Cause 1: SAP Business One user settings(Administration->Setup->User) is incorrect
    Solution 1:
    The user is not configured as a mobile user. Make sure the mobile check box is selected.
    The phone number entered in the mobile device settings (Settings->Business One) does not match the definition in SAP Business One. In case of iPad use a dummy number like 1234 for validation.
    Make sure the license server works properly. Ensure the correct license is assigned to the user. B1i technical user shall have B1i license and all the mobile users shall also have B1i license together with one of the following licenses: Professional, Limited Financial, Limited Logistics, Limited CRM, Starter Package, CRM Sales User (legacy) and CRM Service user (legacy).
      o The device identifier / Mobile Device ID is incorrect: 
    For app versions 1.10.0 and higher: See 7. Device ID in version 1.10.0 and higher
    For lower than iOS 7 and app versions 1.6.0 to 1.9.x:
    SAP Business One mobile app for iOS uses the MAC Address of the respective mobile device for the Mobile Device ID field in SAP Business One user settings (see section ‘Activating Mobile App Users’ in the Full Guide / Documentation). Ensure that the MAC address of device (find MAC address in Settings->General->About->Wi-Fi Address) is correctly entered in user master data.
    For iOS 7 and higher and app versions 1.6.0 to 1.9.x:
    In iOS 7, the MAC Address is not available anymore as in lower iOS versions. The system always returns the value 02:00:00:00:00:00 for the MAC address of a device.
    If using SAP Business One mobile app for iOS up to version 1.9.x, and upgrade to iOS 7, the mobile user fails to logon. The “Permission Denied” error on the screen shows value 02:00:00:00:00:00.
    To make SAP Business One mobile app for iOS up to version 1.9.x work on iOS 7 devices, you need to set the Mobile Device ID field in SAP Business One user settings to value 02:00:00:00:00:00; this is specifically for all users accessing using iOS 7 devices.
    Root Cause 2: The company is not listed in the SLD (Integration Explorer -> SLD) or there are old or inconsistent entries in SBO-COMMON->SLSP or SLSPP tables
    Solution 2: The steps to recreate the entries.
    Make sure all SAP Business One clients are closed.
    Log in Integration Explorer -> Scenarios -> Setup -> Select B1system and make it active.
    Stop B1i services (DI Proxy, EventSender and Integration)
    Use below query to delete all entries of SLSP and SLSPP tables in SBO-COMMON database.
    delete from SLSP
    delete from SLSPP
    Restart B1i services (DI Proxy, EventSender and Integration)
    Now open SAP Business One client, click choose company, then click Refresh button.
    If it doesn't resolve the issue, follow the solution provided in note 2032666.
    Root Cause 3: [hostname] is used in some configuration settings, and [ip-address] is used in others.
    Solution 3: Ensure you use exclusively either the [hostname] or the [ip-address] in all the following configuration settings:
    Integration Framework > SLD > B1i Server > [company database] > B1DI > b1Server
    Integration Framework > SLD > B1i Server > [company database] > JDBC > url
    Integration Framework > SLD > B1i Server > WSforMobile > WSAR > associatedSrvIP
    EventSender Setup > Step 1 > DB Server Name
    License Manager > Configure Security > DB Server
    Root Cause 4: The mobile device is on iOS 7.0.1 or higher and the mobile app version lower than 1.9.5. In the login window, the field 'Password' and the option 'Choose Company' are missing.
    Solution 4: Update to SAP Business One mobile app 1.9.5. for iOS.
    Root Cause 5: DI proxy service is not started with administrator user
    Solution 5: Open Services panel → right click [SAP Business One DI Proxy Service] → Properties → Log On tab → choose "This account" → type windows logon administrator user → click [OK] → Restart the service.
      If none of the listed root causes can be identified, go to Integration Framework -> Monitoring -> Process Control ->Framework Processes-> B1AuthCheck ->IPO log, and check its relevant IPO logs and ExecDetails. For example, whether the correct DB is called, or reasons for failed authentication check. 
    Top
    5. Error: "Connection Failed - The request timed out. (-1001)", or “Processing Failed - Internal server error; contact your system administrator”
    For troubleshooting, please first:
    Verify the connection between the mobile device and the B1i server, see SAP Note 1776825 for instructions.
    Check if these test connections can be executed successfully:
    Integration Framework > SLD > B1i Server > [company database] > B1DI
    Integration Framework > SLD > B1i Server > [company database] > JDBC
      In case of errors, please refer to SAP Note 2029714. 
    Check if B1i tasks/messages are blocked in the queue via Monitoring -> Queue Monitor. If so, check whether any IPO steps are deactivated. (Control Center -> Monitoring -> IPO-Step Status -> Select “Deactivated Steps only “ -> Press submit -> If there are any IPO steps listed. Press (Re)activate button to  process the queue.
    Other common root causes are:
    Root Cause 1: Inconsistent SSL configuration.
    Solution 1:B1i uses port 8443 as the default for SSL connections of the mobile solution. The ‘Web Service’ in the mobile app setting needs to be <server_ip_address>:8443 and have SSL ‘ON’, as the default.
    Root Cause 2: Some or all mobile scenarios are not activated correctly.
    Solution 2:Open Integration Framework -> Scenarios -> Setup -> Scenario steps -> Check all steps are enabled (Eg:It should be “94 of 94”, which means there are totally 94 steps and all of them are activated. If it looks like something like “76 of 94”, it means there are inactive steps.)
    Choose the “Deactivate” button to deactivate the mobile package. After this, the button changes to “Activate”.
    Choose the “Steps” button, a web page would pop up.
    Choose the “all Activate” and then click the save button. After that, close this popup.
    After a few seconds, all scenario Steps should become something like “94 of 94”.
    Choose the “Activate” button to activate the mobile package. It should pop up a confirmation dialog box, choose the "OK" button.
    Root Cause 3: [hostname] is used in some configuration settings, and [ip-address] is used in others.
    Solution 3: Ensure you use exclusively either the [hostname] or the [ip-address] in all the following configuration settings:
    Integration Framework > SLD > B1i Server > [company database] > B1DI > b1Server
    Integration Framework > SLD > B1i Server > [company database] > JDBC > url
    Integration Framework > SLD > B1i Server > WSforMobile > WSAR > associatedSrvIP
    EventSender Setup > Step 1 > DB Server Name
    License Manager > Configure Security > DB Server
    Root Cause 4: The password has unsupported characters such as “&”, “<” and “>”
    Solution 4: Avoid using such characters for mobile users.
    Root Cause 5: The default port 1433 is not used by the selected database instance.
    Solution 5: The TCP IP port of the SQL database instance should be changed to 1433
    Root Cause 6: sap.B1Mobile package is not correctly deployed
    Solution 6: Ensure sap.B1Mobile package activation status is all green (Integration Framework > Scenarios > Control > Click [Status] button for sap.B1Mobile record)
    Make sure the SLD entry '001sap0003' is not selected in the senderlist of any package except Mobile package (Integration Framework > Scenarios > Setup > Click [Sender] > Choose [Sender List])
    Reactivate sap.B1Mobile package
      Top 
    6. Runtime issues
    Cannot view the BP or Item Master Data list in the Mobile app.
    Root Cause 1: The SQL language setting for the sa user was set to another language than English.
    Solution 1: Set the SQL user (normally the sa user) language to English.
    Root cause 2: The DateFormat parameter in the SQL Server is set to another value than ymd.
    Solution 2: Run the query 'Set DateFormat ymd'
    "Not Data" is displayed when trying to view Dashboards on the mobile device.
    Root Cause 1: The PackagType column in table OWPK has an incorrect value for mobile dashboards.
    Solution 1: Run the following query in company database to update the values:
      UPDATE OWPK SET PackagType='M' WHERE PackagCode LIKE 'SAP_MOBILE_DASHBOARD_00%'
    Top
    7. Device ID in version 1.10.0 and higher (error: “Permission Denied”)
    Since SAP Business One mobile app 1.10.0 for iOS a new device identifier has been introduced. When using the app for the first time, a system message appears:
    Apple MAC address is no longer supported for device ID authorization checking since iOS 7. To enable access, update the device ID with <your device ID>
    From within this message, mobile users have the option to email the device ID in the email body to their IT partners or administrators in order to change that data in the user master data. For more information see Retrieving the Mobile Device ID in the Full Guide / Documentation: SAP Business One for iOS.
    If the device ID of the mobile user is not correct, the error: “Permission Denied” is being displayed and logon to the mobile app is not possible.
    Top
    8. Troubleshoot SAP HANA features in the SAP Business One mobile app 
    Please refer to SAP notes 2048889 and 2012800.
    Top
    Header Data
    Released On
    06.03.2015 12:34:55
    Release Status
    Released for Customer
    Component
    SBO-INT-MOB Mobile Applications
    Other Components
    SBO-INT-B1IF SAP Business One integration framework
    Priority
    Recommendations/additional info
    Category
    Consulting
    Validity
    Software Component
    Version
    SAP B1 ANALYTICS ON SAP HANA
    All versions
    SAP B1 IOS APPLICATIONS
    All versions
    SAP B1 VERSION FOR SAP HANA
    All versions
    SAP BUSINESS ONE
    8.8
    8.81
    8.82
    9.0
    9.1
    References
    This document refers to:
    SAP Business One Notes
    2048889
    HANA features do not work on the SAP Business One mobile app.
    2032704
    Unable to add sales opportunity document if the sales employee is inactive
    2032666
    SAP Business One company database entries missing from integration framework SLD
    2029714
    Resolving errors that occur in SAP Business One DI test connection in integration framework SLD
    2019275
    SAP Business One mobile apps require a valid SSL certificate
    2012800
    Dashboards and Enterprise Search Not Working in mobile app on SAP Business One 9.0 PL09 HotFix 1, version for SAP HANA
    1995395
    User without Authorization can view sales documents in the Mobile App
    1951641
    How to view SAP HANA-based SAP Crystal Report in SAP Business One analytics powered by SAP HANA using SAP Business One mobile app
    1924930
    SAP Business One mobile app for Android - Troubleshooting and compatibility information
    1788341
    SAP Business One mobile app does not support NCLOB data column in SAP Crystal Report on SAP HANA
    1776825
    Verifying the connection between mobile device and the B1i server
    1775611

  • Need an help to maintain catalog structure for objects parts,defects,causes,activities and coding in one z table

    Hi Experts,
    I am trying to create a z table with the same fields repeating for the development in PM module.
    I want to have Catalog structure (Catalog,Code group,Code) for objects parts,defects,causes,activities and coding in one z table.Firstly I have created these fields by selecting it from QPCD table.Then as I want the same functionality as it is in IW21 (PM Notification) I created the fields by referring to VIQMFE, VIQMUR , VIQMEL and VIQMMA as in IW21.
    1) However, I am not able to maintain the values.Once I select catalog structure for object parts and then when I am selecting it for defects the search help is still taking the object parts value in it and not allowing me to get the relevant data and also to maintain the data.
    I feel the problem is of check table as all the fields are referring  to the same check tables TQ15 , QPGR and QPCD but I am not getting the exact solution.
    Please find attach the screen shot of the table I have created and also the error I am getting while maintaining the values.
    Please do the needful.
    With Regards,
    Sonali Deshmukh

    Hi All...
    I got the solution.
    Thank You.
    With Regards,
    Sonali Deshmukh

  • Course Catalog in Training and Event  Management

    Hi TEM Gurus,
    My client wants that users can see only courses of training and event management business catalog in ESS, they can't book or do any activities related to TEM. How we can put restriction for that requirement. We are using ITS services PV7I and PV8I.
    Could you please update me as early as posisble ?
    Thanks and Best Regards
    Puneet

    Hi Dear,
    Thanks a lot for quick reply. Could you please give me details inofmration .. How to do changes in the system..
    How to disable book and cancel functionality from the portal.
    Thanks and Best Regards

  • LR 4.4 (and 5.0?) catalog: a problem and some questions

    Introductory Remark
    After several years of reluctance this March I changed to LR due to its retouching capabilities. Unfortunately – beyond enjoying some really nice features of LR – I keep struggling with several problems, many of which have been covered in this forum. In this thread I describe a problem with a particular LR 4.4 catalog and put some general questions.
    A few days ago I upgraded to 5.0. Unfortunately it turned out to produce even slower ’speed’ than 4.4 (discussed – among other places – here: http://forums.adobe.com/message/5454410#5454410), so I rather fell back to the latter, instead of testing the behavior of the 5.0 catalog. Anyway, as far as I understand this upgrade does not include significant new catalog functions, so my problem and questions below may be valid for 5.0, too. Nevertheless, the incompatibility of the new and previous catalogs suggests rewriting of the catalog-related parts of the code. I do not know the resulting potential improvements and/or new bugs in 5.0.
    For your information, my PC (running under Windows 7) has a 64-bit Intel Core i7-3770K processor, 16GB RAM, 240 GB SSD, as well as fast and large-capacity HDDs. My monitor has a resolution of 1920x1200.
    1. Problem with the catalog
    To tell you the truth, I do not understand the potential necessity for using the “File / Optimize Catalog” function. In my view LR should keep the catalog optimized without manual intervention.
    Nevertheless, when being faced with the ill-famed slowness of LR, I run this module. In addition, I always switch on the “Catalog Settings / General / Back up catalog” function. The actually set frequency of backing up depends on the circumstances – e.g. the number of RAW (in my case: NEF) files, the size of the catalog file (*.lrcat), and the space available on my SSD. In case of need I delete the oldest backup file to make space for the new one.
    Recently I processed 1500 photos, occupying 21 GB. The "Catalog Settings / Metadata / Automatically write changes into XMP" function was switched on. Unfortunately I had to fiddle with the images quite a lot, so after processing roughly half of them the catalog file reached the size of 24 GB. Until this stage there had been no sign of any failure – catalog optimizations had run smoothly and backups had been created regularly, as scheduled.
    Once, however, towards the end of generating the next backup, LR sent an error message saying that it had not been able to create the backup file, due to lack of enough space on the SSD. I myself found still 40 GB of empty space, so I re-launched the backup process. The result was the same, but this time I saw a mysterious new (journal?) file with a size of 40 GB… When my third attempt also failed, I had to decide what to do.
    Since I needed at least the XMP files with the results of my retouching operations, I simply wanted to save these side-cars into the directory of my original input NEF files on a HDD. Before making this step, I intended to check whether all modifications and adjustments had been stored in the XMP files.
    Unfortunately I was not aware of the realistic size of side-cars, associated with a certain volume of usage of the Spot Removal, Grad Filter, and Adjustment Brush functions. But as the time of the last modification of the XMP files (belonging to the recently retouched pictures) seemed perfect, I believed that all my actions had been saved. Although the "Automatically write changes into XMP" seemed to be working, in order to be on the safe side I selected all photos and ran the “Metadata / Save Metadata to File” function of the Library module. After this I copied the XMP files, deleted the corrupted catalog, created a new catalog, and imported the same NEF files together with the side-cars.
    When checking the photos, I was shocked: Only the first few hundred XMP files retained all my modifications. Roughly 3 weeks of work was completely lost… From that time on I regularly check the XMP files.
    Question 1: Have you collected any similar experience?
    2. The catalog-related part of my workflow
    Unless I miss an important piece of knowledge, LR catalogs store many data that I do not need in the long run. Having the history of recent retouching activities is useful for me only for a short while, so archiving every little step for a long time with a huge amount of accumulated data would be impossible (and useless) on my SSD. In terms of processing what count for me are the resulting XMP files, so in the long run I keep only them and get rid of the catalog.
    Out of the 240 GB of my SSD 110 GB is available for LR. Whenever I have new photos to retouch, I make the following steps:
    create a ‘temporary’ catalog on my SSD
    import the new pictures from my HDD into this temporary catalog
    select all imported pictures in the temporary catalog
    use the “File / Export as Catalog” function in order to copy the original NEF files onto the SSD and make them used by the ‘real’ (not temporary) new catalog
    use the “File / Open Catalog” function to re-launch LR with the new catalog
    switch on the "Automatically write changes into XMP" function of the new catalog
    delete the ‘temporary’ catalog to save space on the SSD
    retouch the pictures (while keeping and eye on due creation and development of the XMP files)
    generate the required output (TIF OR JPG) files
    copy the XMP and the output files into the original directory of the input NEF files on the HDD
    copy the whole catalog for interim archiving onto the HDD
    delete the catalog from the SSD
    upon making sure that the XMP files are all fine, delete the archived catalog from the HDD, too
    Question 2: If we put aside the issue of keeping the catalog for other purposes then saving each and every retouching steps (which I address below), is there any simpler workflow to produce only the XMP files and save space on the SSD? For example, is it possible to create a new catalog on the SSD with copying the input NEF files into its directory and re-launching LR ‘automatically’, in one step?
    Question 3: If this I not the case, is there any third-party application that would ease the execution of the relevant parts of this workflow before and/or after the actual retouching of the pictures?
    Question 4: Is it possible to set general parameters for new catalogs? In my experience most settings of the new catalogs (at least the ones that are important for me) are copied from the recently used catalog, except the use of the "Catalog Settings / Metadata / Automatically write changes into XMP" function. This means that I always have to go there to switch it on… Not even a question is raised by LR whether I want to change anything in comparison with the settings of the recently used catalog…
    3. Catalog functions missing from my workflow
    Unfortunately the above described abandoning of catalogs has at least two serious drawbacks:
    I miss the classification features (rating, keywords, collections, etc.) Anyway, these functions would be really meaningful for me only if covering all my existing photos that would require going back to 41k images to classify them. In addition, keeping all the pictures in one catalog would result in an extremely large catalog file, almost surely guaranteeing regular failures. Beyond, due to the speed problem tolerable conditions could be established only by keeping the original NEF files on the SSD, which is out of the question. Generating several ‘partial’ catalogs could somewhat circumvent this trap, but it would require presorting the photos (e.g. by capture time or subject) and by doing this I would lose the essence of having a single catalog, covering all my photos.
    Question 5: Is it the right assumption that storing only some parts (e.g. the classification-related data) of catalog files is impossible? My understanding is that either I keep the whole catalog file (with the outdated historical data of all my ‘ancient’ actions) or abandon it.
    Question 6: If such ‘cherry-picking’ is facilitated after all: Can you suggest any pragmatic description of the potential (competing) ways of categorizing images efficiently, comparing them along the pros and contras?
    I also lose the virtual copies. Anyway, I am confused regarding the actual storage of the retouching-related data of virtual copies. In some websites one can find relatively old posts, stating that the XMP file contains all information about modifying/adjusting both the original photo and its virtual copy/copies. However, when fiddling with a virtual copy I cannot see any change in the size of the associated XMP file. In addition, when I copy the original NEF file and its XMP file, rename them, and import these derivative files, only the retouched original image comes up – I cannot see any virtual copy. This suggests that the XMP file does not contain information on the virtual copy/copies…
    For this reason whenever multiple versions seem to be reasonable, I create renamed version(s) of the same NEF+XMP files, import them, and make some changes in their settings. I know, this is far not a sophisticated solution…
    Question 7: Where and how the settings of virtual copies are stored?
    Question 8: Is it possible to generate separate XMP files for both the originally retouched image and its virtual copy/copies and to make them recognized by LR when importing them into a new catalog?

    A part of my problems may be caused by selecting LR for a challenging private project, where image retouching activities result in bigger than average volume of adjustment data. Consequently, the catalog file becomes huge and vulnerable.
    While I understand that something has gone wrong for you, causing Lightroom to be slow and unstable, I think you are combining many unrelated ideas into a single concept, and winding up with a mistaken idea. Just because you project is challenging does not mean Lightroom is unsuitable. A bigger than average volume of adjustment data will make the catalog larger (I don't know about "huge"), but I doubt bigger by itself will make the catalog "vulnerable".
    The causes of instability and crashes may have NOTHING to do with catalog size. Of course, the cause MAY have everything to do with catalog size. I just don't think you are coming to the right conclusion, as in my experience size of catalog and stability issues are unrelated.
    2. I may be wrong, but in my experience the size of the RAW file may significantly blow up the amount of retouching-related data.
    Your experience is your experience, and my experience is different. I want to state clearly that you can have pretty big RAW files that have different content and not require significant amounts of retouching. It's not the size of the RAW that determines the amount of touchup, it is the content and the eye of the user. Furthermore, item 2 was related to image size, and now you have changed the meaning of number 2 from image size to the amount of retouching required. So, what is your point? Lots of retouching blows up the amount of retouching data that needs to be stored? Yeah, I agree.
    When creating the catalog for the 1500 NEF files (21 GB), the starting size of the catalog file was around 1 GB. This must have included all classification-related information (the meaningful part of which was practically nothing, since I had not used rating, classification, or collections). By the time of the crash half of the files had been processed, so the actual retouching-related data (that should have been converted properly into the XMP files) might be only around 500 MB. Consequently, probably 22.5 GB out of the 24 GB of the catalog file contained historical information
    I don't know exactly what you do to touch up your photos, I can't imagine how you come up with the size should be around 500MB. But again, to you this problem is entirely caused by the size of the catalog, and I don't think it is. Now, having said that, some of your problem with slowness may indeed be related to the amount of touch-up that you are doing. Lightroom is known to slow down if you do lots of spot removal and lots of brushing, and then you may be better off doing this type of touch-up in Photoshop. Again, just to be 100% clear, the problem is not "size of catalog", the problem is you are doing so many adjustments on a single photo. You could have a catalog that is just as large, (i.e. that has lots more photos with few adjustments) and I would expect it to run a lot faster than what you are experiencing.
    So to sum up, you seem to be implying that slowness and catalog instability are the same issue, and I don't buy it. You seem to be implying that slowness and instability are both caused by the size of the catalog, and I don't buy that either.
    Re-reading your original post, you are putting the backups on the SSD, the same disk as the working catalog? This is a very poor practice, you need to put your backups on a different physical disk. That alone might help your space issues on the SSD.

  • Employee user not able to access catalogs from EBP

    Hello Seniors,
    We are implementing SRM 4.0 with scenario SSP and CCM 2.0.
    Please note the landscape highlights:
    EBP and CCM component are mounted in the same client and same server.
    CAT and CES are also on same client.
    No XI in picture.
    Catalog upload has been done through CSV format only.
    Please note the activities I have completed:
    Cat_Manager assigned to /CCM/CATALOG_MANAGER role and profile generated.
    Did the customizing for CAT
    Did the customizing for CSE
    Activated the required services
    For the service srm_cse set the log on procedure as "log on data required".
    Maintained a service user "ccm_user" in anonymous log on data.
    Maintained "define external web serices" in SRM img->SRM ->SRM server ->Master data (Here i have a doubt which is explained later)
    Intialized CCM with report.
    Uploaded schema in the master catalog.
    Created supplier ID and catalog.
    Uploaded CSV file for Supplier catalog.
    Mapped Supplier catalog with master catalog
    Published Master cataog.
    maintained entry of master catalog in PPOMA_BBP.
    Now I logged on EBP home page with employee user.
    Went to application shop.
    My master catalog published in CCM component was present there with exact name.
    But when the employee user clicks on the particular catalog link to choose the items from , He is getting an error "" BSP exception: Access to URL /sap/bc/bsp/ccm/srm_cse is forbidden "".
    With this error message immediately the attention goes to the service srm_cse.But there I have maintained a SERVICE user by user ID ccm_user which is existing in SRM SU01.
    In the whole customizing explained above I have two weak points which I want to state now:
    1. The integrated call structure for my particular master catalog was copied from other catalog.
    There i am missing one sr. no. of 70 (ie after 60 , 80 is there).
    But all the values for url, ccm-user, password, sap-client, sap language, locale, catalogID are filled correctly with type as per config guide.
    Do the parameter names should come exactly as per sequence given in guide(In my case it's not so.)
    (If anybody wants to see screenshot for this point pl. give me personal ID.)
    2. I had deleted the entry of my particular master catalog from the external web services to correct the error stated in pt. no 1 .
    But when i tried to create an entry again with the same ID system gave me an error saying that the said catalog is marked for deletion.
    now entry of this particular master catalog is present in table /CCM/D_CTLG_REQ with no x mark in active column.
    But my catalog ID is present in external web services.
    Can point no. 1 and 2 are reasons of the failure to access the catalogs from EBP?
    If it is so then please tell me the procedure to recreate the integrated call structure with same catalog ID.
    Please excuse me for the length of the matter , but i have tried to give every relavant detail so that clarity should be max.
    Best Regards,
    dinesh
    [email protected]

    Hi Dinesh,
    Please see cooments below...
    1. The integrated call structure for my particular master catalog was copied from other catalog.
    There i am missing one sr. no. of 70 (ie after 60 , 80 is there).
    But all the values for url<b>[Adeoye]where did you get your url from? Go to SE80 --> BSP application --> /CCM/SRM_CSE --> Controller -->main.do and check the url</b>, ccm-user, password, sap-client, sap language, locale, catalogID are filled correctly with type as per config guide.
    Do the parameter names should come exactly as per sequence given in guide(In my case it's not so<b>.)[Adeoye] Yes i believe this should be in the satated sequence.</b>
    (If anybody wants to see screenshot for this point pl. give me personal ID.)
    2. I had deleted the entry of my particular master catalog from the external web services to correct the error stated in pt. no 1 .
    But when i tried to create an entry again with the same ID system gave me an error saying that the said catalog is marked for deletion. <b>[Adeoye] Save your deletion first, before trying to create it again.</b>
    now entry of this particular master catalog is present in table /CCM/D_CTLG_REQ with no x mark in active column.
    But my catalog ID is present in external web services.
    I also sent you a cookbook to help with this, hope this helps...
    BR,
    Adeoye

  • Shopping list in SRM-MDM catalog?

    Dear Experts,
    What is the use of shopping list in SRM-MDM catalog?
    I have created a new shopping list in the system. I have filled the name, description and other details in the new shopping list.
    When I select my shopping list, the button u2018Add to shopping list u2018is still disabled. How we can add new items to a newly created shopping list? My understanding is that a shopping list is created to include different shopping items  as favorite list?
    What is the function of the button u2018Share/Unshareu2019 ?
    Please, help me to understand the functionality of shopping list in SRM-MDM catalog 3.0?
    Thanks and regards,
    Ranjan

    Note 1141870 - SRM-MDM Catalog: Usage of Shopping List (Memory, M/S)
    Symptom
    The usage of Shopping Lists in the SRM-MDM Catalog has direct influence on the memory consumption of the MDM Server.
    Note 1153525 - Enabling shopping lists for named users
    Note 1165452 - SRM-MDM Catalog 2.0 SP04 Patch00 Release Note
    Shopping Lists
    You can use this function as a:
    Template for orders that are made regularly
    Search criterion
    Prerequisites
    Your User Interface (UI) Configuration Manager has given you shopping list authorization.
    A shopping list must have at least one item in it to serve as a search criterion.
    To display all items in a shopping list, the search criterion must be reset before the shopping list is selected.
    This is because the search UI treats the shopping list as a search criterion. Consequently, any other active search criterion reduces the items displayed to a subset of all the items in the shopping list.
    To display all shopping lists, including empty ones, on the Shopping List tab page, one of the following conditions must be met:
    No other search criterion has been entered
    The search has been reset
    Activities
    When a shopping list is selected as a search criterion, the system restricts the search by removing any items not included in the list from the search result.
    Items can be added or removed from shopping lists in the shopping cart preview.
    Note
    Depending on authorization, users can modify either their own shopping lists or those of others.
    This function provides search strategies for locating products, displaying product item details, and transferring items to procurement applications such as the cart. The Search User Interface (UI) can be configured to meet individual user requirements.
    Prerequisites
    The User Interface (UI) Configuration Manager is responsible for configuring the search UI.
    If you cannot access some of the functions and features listed below, check that your user has been correctly configured. For more information, see User-Specific Configuration: Product Procurement
    Features
    On the Search tab page:
    Keyword search
    Advanced Search
    Hierarchy (category) View
    Allows you to drilldown when searching. This view also displays product attributes, if they have been maintained.
    List View (for displaying search results)
    Displays results with images and a URL to item details
    Context View (for displaying search results)
    Navigation up and down the list is possible and item images are also available.
    In the List View and in the Context View, the following functions are available:
    Add To Cart
    Compare for price comparisons. For more information, see Compare Function
    Cart Preview
    On the Cart Preview tab page, the following functions are available:
    Transfer Items
    Delete
    Delete All
    Back to Search Result
    Add to Shopping List
    Recalculate
    Add to Shopping List
    Remove from Shopping List
    Current search parameters are displayed on the Search Criteria tab page.
    Shopping Lists can be maintained on the Shopping Lists tab page.

  • Punchout from ECC 6.0 MM via OCI to MDM Catalog

    Hi Folks,
    my customer wants to integrate the SRM MDM Catalog with ECC 6.0/MM without using SRM or XI. I already found threads talking about external catalogs being linked from MM using
    ECC SPRO : Materials Management -> Purchasing -> Environment Data -> Web Services: ID and Description
    which I have available. However, I was expecting an entry for example in PM where I have the activities for OCI (Catalog ID, HTML-Fields etc.) in detail, but not a general web service ID an description. I am familiar with OCI, but not with web services.
    How can I use the web service ID to turn into a configurable OCI-interface?
    Thanks, Andy

    Hi Andreas,
    For our customer we would like to link ECC5 MM to SRM-MDM 2.0.
    Our MDM catalog works well with SRM EBP 5.5.
    For a different scenario we would like to link MDM directly to ECC5 : MM / PM / PS.
    1. In ECC5 MM there is no customizing entry for Web Services.
    It used to be :
    IMG --> Material Management --> Purchasing --> Environment Data --> Web Services.
    This entry is no longer exist.
    Do you have an idea of how to link MM to MDM ?
    2. In order to link MDM to ECC5 PM, we customize :
    IMG --> Plant Maint ... --> Maintenance and services ... --> Maintenance and services order --> Interface for procurement Using catalogs (OCI) --> define catalog
    I did the same setting as in SRM EBP.
    and also
    IMG --> Plant Maint ... --> Maintenance and services ... --> Maintenance and services order --> Interface for procurement Using catalogs (OCI) --> Assign Catalog to Order type
    I assign
    PM01 order type,
    a plant,
    sequence 1
    Catalog ID.
    I have no idea about the following entry in this table :
    - Organization
    - User
    - Password.
    I put them with blank value.
    Thanks for your help.
    regards
    XAvier NIEL

  • Oracle BPM Java API - getting informations about process activities

    Hi
    I have a problem with Oracle BPM Java API, can someone help me?
    I have a business process project deployed in Oracle SOA Suite and I need to get some informations of my process programatically via Java API.
    Basically I need to get informations about process activities and the corresponding human tasks referenced by these activities.
    I'm able to get the HumanTasks of my Business Catalog and also to get the Activities of my Process, but the relationship between them is null.
    I did some tests, below a piece of code of my test:
    IBPMServiceClient bpmServiceClient = BPMConnectionUtil.getBPMServiceClient();
    IProcessMetadataService processMetadataService = bpmServiceClient.getProcessMetadataService();
    IProcessModelService processModelService = bpmServiceClient.getProcessModelService();
    List<ProcessMetadataSummary> processMetadataSummaryList =
    processMetadataService.listProcessMetadataSummary(BPMConnectionUtil.getBPMContext(), "processNameOrId to find", "processName", "ASC");
    if (processMetadataSummaryList == null || processMetadataSummaryList.size() == 0)
    return;
    ProcessMetadataSummary processMetadataSummary = null;
    for (ProcessMetadataSummary summary: processMetadataSummaryList) {
    if (summary.isIsDefaultRevision()) {
    processMetadataSummary = summary;
    break;
    if (processMetadataSummary == null)
    processMetadataSummary = processMetadataSummaryList.get(0);
    IProcessModelPackage pack = processModelService.getProcessModel(BPMConnectionUtil.getBPMContext(), processMetadataSummary.getCompositeDN(), processMetadataSummary.getProcessName());
    oracle.bpm.project.model.processes.Process process = pack.getProcessModel();
    Sequence<UserTask> activities = process.getActivities(UserTask.class);
    for (UserTask activity: activities) {
    System.out.println("Human Task: " +activity.getHumanTask()); // <<<<<<<<<<<<<<<<<<<<---------------------------- here is the problem. the human task is null, but my activity have a task associated
    There is another way to get this information?
    Thank's

    Hi
    I have a problem with Oracle BPM Java API, can someone help me?
    I have a business process project deployed in Oracle SOA Suite and I need to get some informations of my process programatically via Java API.
    Basically I need to get informations about process activities and the corresponding human tasks referenced by these activities.
    I'm able to get the HumanTasks of my Business Catalog and also to get the Activities of my Process, but the relationship between them is null.
    I did some tests, below a piece of code of my test:
    IBPMServiceClient bpmServiceClient = BPMConnectionUtil.getBPMServiceClient();
    IProcessMetadataService processMetadataService = bpmServiceClient.getProcessMetadataService();
    IProcessModelService processModelService = bpmServiceClient.getProcessModelService();
    List<ProcessMetadataSummary> processMetadataSummaryList =
    processMetadataService.listProcessMetadataSummary(BPMConnectionUtil.getBPMContext(), "processNameOrId to find", "processName", "ASC");
    if (processMetadataSummaryList == null || processMetadataSummaryList.size() == 0)
    return;
    ProcessMetadataSummary processMetadataSummary = null;
    for (ProcessMetadataSummary summary: processMetadataSummaryList) {
    if (summary.isIsDefaultRevision()) {
    processMetadataSummary = summary;
    break;
    if (processMetadataSummary == null)
    processMetadataSummary = processMetadataSummaryList.get(0);
    IProcessModelPackage pack = processModelService.getProcessModel(BPMConnectionUtil.getBPMContext(), processMetadataSummary.getCompositeDN(), processMetadataSummary.getProcessName());
    oracle.bpm.project.model.processes.Process process = pack.getProcessModel();
    Sequence<UserTask> activities = process.getActivities(UserTask.class);
    for (UserTask activity: activities) {
    System.out.println("Human Task: " +activity.getHumanTask()); // <<<<<<<<<<<<<<<<<<<<---------------------------- here is the problem. the human task is null, but my activity have a task associated
    There is another way to get this information?
    Thank's

  • Is it possible to sort the catalog codes?

    Hi
    We use catalogs on notification for object, part, damage etc.
    The code is numeric.
    But for the user it can be difficult to find the correct code to use, as the list is not sorted.
    Is there a way to sort the list of catalog codes on the description field?
    Best regards
    Tom

    Catalog codes are not linked to technical object types but, fundamentally should be linked so as to give more clarity to the thought process. For e.g, you have centrifugal pumps as technical object type, you can have catalog codes for either for this object type or it can me made common for all pumps.
    Now for damage, cause, activities and tasks, you can actually maintain the few codes same across catalog profiles. For e.g. pump, gear box, compressors, etc the codes of damage can be 0010-Broken, 0020-Leaked, etc. The only catalog code group, which will change is the object part as it will vary with equipment types.
    This will actually help you in running your reports effectively. For e.g. you can look for all failures, which were due to 'Leaked' as the damage.
    I hope this helps.
    Regards,
    Ketul

  • External Catalog Call Structures

    We are on SRM 4.0 and integrated ITS.  We are using the standard call structure for external catalogs which opens in a new window.  However, this is causing grief with our users because they tend to stay in the catalogs too long and eventually timeout of SRM.  Our current timeout is set to 30 minutes.  Therefore, when they go to the catalogs, SRM sits idle.  When they checkout of the catalog to bring the items over into SRM, they will get a timeout message.
    I would like to have the catalog open in the same window as SRM.  I understand this is done through integrated call structure.
    However, when I select my items from the catalog and check out, I'm not brought back into my shopping cart.  Another window opens with the look of external ITS.
    Is there something I need to do with the call structure so that the items are added back to my shopping cart?
    Are there other options so that users do not timeout of SRM?  If SRM is sitting idle, can a message popup letting the user know their session will timeout soon unless they check out of the catalogs?

    Hi Monique,
    Last document i have in for ebp 3.0 !
    It is a configuration guide for setting up inframe catalogue.
    Extract :
    Prerequisites
    You have:
    installed an SAP Markets Enterprise Buyer Professional Edition 3.0 system
    installed the Requisite catalog (BugsEye 3.0)
    installed a Java Runtime Environment (for example Java 2 SDK Standard
    Edition)
    installed a servlet engine
    Activities
    Checking BugsEye_Config
    Copying of the WAR (Web Archive) file
    Deployment of the Application
    Changing the WEB.XML
    Defining the Internal Call Structure in EBP
    I can send you the document.
    However i do not know if it is still compliant...
    Kind regards,
    Yann

  • Catalog Interface (OCI) -  Customizing for Plant Maintenance order  ERP2005

    Hello Experts,
    we want to use the integration between SRM and ERP2005. In the <a href="http://help.sap.com/saphelp_nw04/helpdata/en/5d/0eba5fa0084247acbb0c04cede18e8/frameset.htm">sap documentation</a>sap documentation I found the following:
    'In the Customizing for Plant Maintenance and Customer Service or in the Customizing for Project Systems, you entered the required data about the catalog that you want to connect to the SAP R/3 system. You can find the corresponding IMG activities under Interface for Procurement Using External Catalogs (OCI).'
    However I can`t find this IMG activities in our ERP2005 system.
    What`s wrong?
    Thanks in advance.
    Regards
    U. Wieland

    Hi! Additional we had to generate the img new.
    Unfortunaetly I haven`t a idee how does this work. (Our sap basis did this.)
    Through the assign from catalog to order type, I think it nessary to use the pm-img-activities...
    Plant Maintenance and Customer Service
    ->Maintenance and Service Processing
    ->Maintenacne and Service Oders
    ->Interface for Procurement Using Catalogs (OCI)

  • Training and Events Master Data Catalog

    Good day,
    The company I'm with currently wants to restructure their Training and Events Master Data Catalog, therefore existing catalog will no longer be applicable from the 01.11.2009 and the new structure to be effective the 01.12.2009. I want to know what is the best possilble way to tackle the "moving" of the old catalog?
    Do we delimit the business event group and all its related activities, i.e. business event group, business event type and the actual business events via transaction S_AHR_61011887? Then change the view settings on PSV2?
    Or can we move the old structure to a different plan version, if yes then how?
    What kind of impact will this change make that I should be aware of?
    Kind regards
    Dorianne

    Best approach would be to delimit and also mark these as "historical". You should not move them to another plan version.
    If you are using Structural Authorizations you should also look at providing only display access for the "Old" a hierarchy.
    thanks

  • Adding New fields to field catalog

    Hi friends, i have comeup with a requirement. its related to output determination. the output have to be sent based on certain criteria. for this we decided to create a new condition table(Acess) and add it in the Access sequence. To create a condition table we need to select the fields from the "Field Catalog". so for this the field should be avilable in the field catalog. Since the field we are going to use is a new Zfield the field is not avilable in the "Output field Catalog".
               What to be done to make the field avilable in the 'Output field catalog'
    Can anyone give some input on this? Thanks in advance.

    Hi Srini,
    Following are the activities.
    1. Find out what are the output communication structures involved in that output condition table. To find that, go to field catalog, and enter a new field called "test". Then it will give you a message "The field test is not a part of the communication structures KOMB, KOMPBV* KOMKBV*where * equals 1, 2 or 3 based on whether the output is for order, delivery or billing documents. For delivery document it is KOMPBV2, KOMKBV2 and KOMB.
    2. Now having known the communication structures for the field catalog, go to all these structures in SE11 and append these structures with a new field say ZZ_SOLD TO PARTY with the relevant data element and domain.
    3. To populate the field while doing transactions, you have to represent this field by a foreign key which is a field from transaction say LIKP_KUNAG for a delivery output.This coding takes place in a user exit. The correct user exit has to be found. Once this is done, the new field is ready for input and it will be available in the list of allowed fields in the field catalogue.
    4.Now you can create a condition table using the new field and use it as one of the accesses in access seq.
    Please assign reward points if this info is helpful to you.

  • How do I define Field-Catalog and Event-Catalog in OOPs ALV

    Hi All,
    This is the piece of the code on which I'm working upon. This program is giving an exception "No Field-Catalog Found". 
    I'm new to OOPs ALV. Could anybody please tell me how to define the field-catalog and event-catalog in this.
    module PBO output.
          IF g_custom_container IS INITIAL.
              CREATE OBJECT g_custom_container EXPORTING CONTAINER_NAME = 'CCCONTAINER'.
              CREATE OBJECT g_grid             EXPORTING I_PARENT       = g_custom_container.
          CALL METHOD g_grid->set_table_for_first_display
              EXPORTING I_STRUCTURE_NAME = 'IT_MATERIAL'
                        is_layout = layout
              CHANGING IT_OUTTAB         = gt_it_material.
          ENDIF.
      endmodule.
    Regards,
    Saurabh

    hi,
    chk this sampl ceode.
    TYPE-POOLS: slis.
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    TABLES : zmpets_shipactiv, zmpets_chargebk, zmpets_shiphdr.
    DATA : BEGIN OF int_crb OCCURS 0,
           sel TYPE char1,
           icon TYPE icon_d,
           pernr LIKE zmpets_cil-pernr,
           vorna LIKE pa0002-vorna,
           movreason LIKE zmpets_shiphdr-movreason,
           shipdocnum LIKE zmpets_chargebk-shipdocnum,
           createdon LIKE zmpets_chargebk-createdon,
           chargeamount LIKE zmpets_chargebk-chargeamount,
           version LIKE zmpets_shipactiv-version,
           activity LIKE zmpets_shipactiv-activity,
           vendor LIKE zmpets_shiphdr-vendor,
          smtp_addr LIKE adr6-smtp_addr,
           empperid LIKE zmpets_167doc-empperid,
           celltab TYPE lvc_t_styl,
           END OF int_crb.
    DATA : int_crb_ver LIKE int_crb OCCURS 0 WITH HEADER LINE.
    DATA : int_crb_mail LIKE int_crb OCCURS 0 WITH HEADER LINE.
    DATA : int_shipactiv LIKE zmpets_shipactiv OCCURS 0 WITH HEADER LINE.
    DATA: gt_fieldcatalog TYPE lvc_t_fcat.
    DATA : wf_flag TYPE i.
    DATA : wf_res TYPE c.
    DATA : wf_tabix TYPE sy-tabix.
    DATA: BEGIN OF int_sin OCCURS 0,
          shipdocnum LIKE zmpets_chargebk-shipdocnum,
            shipdocnum LIKE zmpets_shipactiv-petsdocnumber,
          END OF int_sin.
    DATA: objpack   LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
    DATA: objhead   LIKE solisti1 OCCURS 1 WITH HEADER LINE.
    DATA: objbin    LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: objtxt    LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: reclist   LIKE somlreci1 OCCURS 5 WITH HEADER LINE.
    DATA: doc_chng  LIKE sodocchgi1.
    DATA: tab_lines LIKE sy-tabix.
    DATA l_num(3).
    DATA: ok_code            LIKE          sy-ucomm,
          w_repid            LIKE          sy-repid,
          wl_sno             TYPE          i         VALUE 0,
          w_max              TYPE          i         VALUE 100,
          wf_layout          TYPE          lvc_s_layo,
          cont_on_main       TYPE          scrfname   VALUE  'GRID_CONTROL',
          cont_on_dialog     TYPE          scrfname   VALUE 'GRID_CONTROL',
          grid1              TYPE          REF TO cl_gui_alv_grid,
          grid2              TYPE          REF TO cl_gui_alv_grid,
          custom_container1  TYPE          REF TO cl_gui_custom_container,
          custom_container2  TYPE          REF TO cl_gui_custom_container,
          event_receiver     TYPE          REF TO lcl_event_receiver,
          lt_exclude         TYPE          ui_functions,
          ls_celltab         TYPE          lvc_s_styl,
          lt_celltab         TYPE          lvc_t_styl.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-001.
    PARAMETERS : p_cash AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK b3.
    PERFORM fieldcatalog_init USING gt_fieldcatalog[].
    Selection-Screen----
    SELECTION-SCREEN  BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
    SELECT-OPTIONS:s_chdate FOR zmpets_chargebk-createdon,
                   s_pernr FOR zmpets_shiphdr-pernr,
                   s_mvrsn FOR zmpets_shiphdr-movreason,
                   s_sin FOR zmpets_chargebk-shipdocnum NO INTERVALS
    NO-EXTENSION.
    SELECTION-SCREEN  END OF BLOCK b1.
    PERFORM f_clear_fields.
    CALL SCREEN 100.
          CLASS lcl_event_receiver DEFINITION
    CLASS lcl_event_receiver DEFINITION.
      PUBLIC SECTION.
        METHODS:
        handle_toolbar
            FOR EVENT toolbar OF cl_gui_alv_grid
                IMPORTING e_object e_interactive,
        handle_user_command
            FOR EVENT user_command OF cl_gui_alv_grid
                IMPORTING e_ucomm.
      PRIVATE SECTION.
    ENDCLASS.                    "lcl_event_receiver DEFINITION
          CLASS lcl_event_receiver IMPLEMENTATION
    CLASS lcl_event_receiver IMPLEMENTATION.
      METHOD handle_toolbar.
    § 2.In event handler method for event TOOLBAR: Append own functions
      by using event parameter E_OBJECT.
        DATA: ls_toolbar  TYPE stb_button.
    append a separator to normal toolbar
        CLEAR ls_toolbar.
        MOVE 3 TO ls_toolbar-butn_type.
        APPEND ls_toolbar TO e_object->mt_toolbar.
        CLEAR ls_toolbar.
    new button -
        MOVE 'PROCESSED' TO ls_toolbar-function.
        MOVE icon_execute_object TO ls_toolbar-icon.
        MOVE 'Process the Record'(110) TO ls_toolbar-quickinfo.
        MOVE ' Process '(200) TO ls_toolbar-text.
        MOVE ' ' TO ls_toolbar-disabled.
        APPEND ls_toolbar TO e_object->mt_toolbar.
      ENDMETHOD.                    "handle_toolbar
      METHOD handle_user_command.
    § 3.In event handler method for event USER_COMMAND: Query your
      function codes defined in step 2 and react accordingly.
        DATA: lt_rows TYPE lvc_t_row.
        CASE e_ucomm.
          WHEN 'PROCESSED'.
            CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
                     EXPORTING
                      defaultoption        = 'N'
      textline1     = 'Do you want to process the selected documents?'
              TEXTLINE2            = ' '
                       titel                = 'Process Documents'
              START_COLUMN         = 25
              START_ROW            = 6
              CANCEL_DISPLAY       = 'X'
                    IMPORTING
                      answer               = wf_res.
    *--IF THE USER CONFIRMS 'YES',
            IF wf_res = 'J'.
              PERFORM f_modify_activity.
              CALL METHOD grid1->refresh_table_display.
           PERFORM SENDINGMAIL.
            ENDIF.
        ENDCASE.
      ENDMETHOD.                           "handle_user_command
    ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
    MODULE pbo_100 OUTPUT
    MODULE pbo_100 OUTPUT.
      SET PF-STATUS 'MAIN100'.
      SET TITLEBAR 'MAIN100'.
      w_repid = sy-repid.
      IF custom_container1 IS INITIAL.
    *get the data from charge back table
        PERFORM select_table_chb.
    create a custom container control for our ALV Control
        CREATE OBJECT custom_container1
            EXPORTING
                container_name = cont_on_main
            EXCEPTIONS
                cntl_error = 1
                cntl_system_error = 2
                create_error = 3
                lifetime_error = 4
                lifetime_dynpro_dynpro_link = 5.
        IF sy-subrc NE 0.
    add your handling, for example
          CALL FUNCTION 'POPUP_TO_INFORM'
            EXPORTING
              titel = w_repid
              txt2  = sy-subrc
              txt1  = 'The control could not be created'(510).
        ENDIF.
        CREATE OBJECT grid1
                  EXPORTING i_parent = custom_container1.
    Set a titlebar for the grid control
        wf_layout-grid_title = 'Charge Back'(100).
    allow to select multiple lines
        wf_layout-sel_mode = 'C'.
        wf_layout-stylefname = 'CELLTAB'.
    Exclude all edit functions in this example since we do not need them:
        PERFORM exclude_tb_functions CHANGING lt_exclude.
        CALL METHOD grid1->set_table_for_first_display
                   EXPORTING
                I_BUFFER_ACTIVE               =
                I_CONSISTENCY_CHECK           =
                I_STRUCTURE_NAME              =
                IS_VARIANT                    =
                I_SAVE                        =
                I_DEFAULT                     = 'X'
                     is_layout                     = wf_layout
                IS_PRINT                      =
                IT_SPECIAL_GROUPS             =
                  it_toolbar_excluding          = lt_exclude
                IT_HYPERLINK                  =
                IT_ALV_GRAPHICS               =
              CHANGING
                it_outtab                     = int_crb[]
                it_fieldcatalog               = gt_fieldcatalog.
        CREATE OBJECT event_receiver.
        SET HANDLER event_receiver->handle_user_command FOR grid1.
        SET HANDLER event_receiver->handle_toolbar FOR grid1.
        CALL METHOD grid1->set_toolbar_interactive.
      ENDIF.                               "IF grid1 IS INITIAL
      CALL METHOD cl_gui_control=>set_focus
        EXPORTING
          control = grid1.
    ENDMODULE.                    "pbo_100 OUTPUT
    MODULE pai_100 INPUT
    MODULE pai_100 INPUT.
      CASE ok_code.
        WHEN 'EXIT'.
          PERFORM f_clear_fields.
          LEAVE PROGRAM.
        WHEN 'CANCEL'.
          PERFORM f_clear_fields.
          LEAVE TO SCREEN 0.
        WHEN 'BACK'.
          PERFORM f_clear_fields.
          LEAVE TO SCREEN 0.
      ENDCASE.
      CLEAR ok_code.
    ENDMODULE.                    "pai_100 INPUT
    **&      Form  select_table_chb
          text
    FORM select_table_chb.
      IF p_cash = 'X'.
    *Consider the pending documents also.
    *get the documents which are not processed yet,
    *Doctype -> 06 = Charge Back document type.
        SELECT zmpets_shiphdrpernr pa0002vorna
         zmpets_shiphdrmovreason zmpets_chargebkshipdocnum
         zmpets_chargebkcreatedon zmpets_chargebkchargeamount
         zmpets_shipactivversion zmpets_shipactivactivity
    zmpets_shiphdr~vendor
       adr6~smtp_addr
    zmpets_167doc~empperid
                 INTO CORRESPONDING FIELDS OF TABLE int_crb_ver
                 FROM zmpets_chargebk
                 JOIN zmpets_shiphdr
               ON zmpets_chargebkshipdocnum = zmpets_shiphdrshipdocno
                 JOIN zmpets_shipactiv
         ON zmpets_chargebkshipdocnum = zmpets_shipactivpetsdocnumber
                 JOIN pa0002
                 ON zmpets_shiphdrpernr = pa0002pernr
                    JOIN lfa1
                    ON lfa1lifnr = zmpets_shiphdrvendor
                    JOIN adr6
                    ON adr6addrnumber = lfa1adrnr
                 JOIN zmpets_167doc
                 ON zmpets_167docpernr = pa0002pernr
                           WHERE zmpets_shipactiv~doctype = '06'
                        zmpets_shipactiv~activity NE '30'
                      ZMPETS_CHARGEBK~CREATEDON IN s_chdate
                      AND ZMPETS_SHIPHDR~pernr IN s_pernr
                      AND ZMPETS_SHIPHDR~MOVREASON IN s_mvrsn
                      AND ZMPETS_CHARGEBK~SHIPDOCNUM IN s_sin
                           AND zmpets_chargebk~loekz NE 'X'
                           AND zmpets_shipactiv~loekz NE 'X'
                           AND zmpets_shiphdr~loekz NE 'X'.
        IF sy-subrc <> 0.
    *Message is 'No Pending Documents Available.'.
          MESSAGE s196(zm050).
        ELSE.
          LOOP AT int_crb_ver.
    *Not yet processed. set to red
            int_crb_ver-icon = '@0A@'.
            MODIFY int_crb_ver.
          ENDLOOP.
          PERFORM f_filter_data_pending.
        ENDIF.
      ELSE.
    *Get the document details from pa0002,zmpets_shipactiv,ZMPETS_CHARGEBK
    *table.
    *Consider document type as '01'  during the selection.
    *Doctype -> 06 = Charge Back document type.
        SELECT zmpets_shiphdrpernr pa0002vorna zmpets_shiphdr~movreason
        zmpets_chargebkshipdocnum zmpets_chargebkcreatedon
    zmpets_chargebkchargeamount zmpets_shipactivversion
    zmpets_shipactivactivity zmpets_shiphdrvendor
    *adr6~smtp_addr
    zmpets_167doc~empperid
                 INTO CORRESPONDING FIELDS OF TABLE int_crb_ver
                 FROM zmpets_chargebk
                 JOIN zmpets_shiphdr
                 ON zmpets_chargebkshipdocnum = zmpets_shiphdrshipdocno
                 JOIN zmpets_shipactiv
           ON zmpets_chargebkshipdocnum = zmpets_shipactivpetsdocnumber
                 JOIN pa0002
                 ON zmpets_shiphdrpernr = pa0002pernr
                JOIN lfa1
                    ON lfa1lifnr = zmpets_shiphdrvendor
                    JOIN adr6
                    ON adr6addrnumber = lfa1adrnr
                     JOIN zmpets_167doc
                     ON zmpets_167docpernr = pa0002pernr
                           WHERE zmpets_chargebk~createdon IN s_chdate
                           AND zmpets_shiphdr~pernr IN s_pernr
                           AND zmpets_shiphdr~movreason IN s_mvrsn
                           AND zmpets_chargebk~shipdocnum IN s_sin
                          AND zmpets_shipactiv~activity NE '30'
                           AND zmpets_shipactiv~doctype = '06'
                           AND zmpets_chargebk~loekz NE 'X'
                           AND zmpets_shipactiv~loekz NE 'X'
                           AND zmpets_shiphdr~loekz NE 'X'.
        IF sy-subrc <> 0.
    *Message is 'No Charge Back Documents Available.'.
          MESSAGE s201(zm050).
        ELSE.
          PERFORM f_filter_data.
        ENDIF.
      ENDIF.
    ENDFORM.                    "select_table_chb
    *&      Form  UPDATE_RECORDS
          text
    -->  p1        text
    <--  p2        text
    FORM update_records TABLES p_et_index_rows
                                    STRUCTURE lvc_s_row.
      DATA: ls_selected_line LIKE lvc_s_row,
              lf_row_index TYPE lvc_index.
      LOOP AT p_et_index_rows INTO ls_selected_line.
        lf_row_index = ls_selected_line-index.
      ENDLOOP.
    ENDFORM.                    " UPDATE_RECORDS
    **&      Form  fieldcatalog_init
          text
         -->P_GT_FIELDCATALOG[]  text
    FORM fieldcatalog_init  USING lt_fieldcatalog TYPE lvc_t_fcat.
      DATA: ls_fieldcatalog TYPE lvc_s_fcat.
      CLEAR ls_fieldcatalog.
      ls_fieldcatalog-fieldname = 'SEL'.
      ls_fieldcatalog-tabname  = 'INT_CRB'.
      ls_fieldcatalog-datatype = 'C'.
      ls_fieldcatalog-col_pos  = 1.
      ls_fieldcatalog-edit     = 'X'.
      ls_fieldcatalog-reptext  = 'Select for Processing'.
      ls_fieldcatalog-coltext  = 'Select for Processing'.
      ls_fieldcatalog-seltext  = 'Select for Processing'.
      ls_fieldcatalog-tooltip  = 'Select for Processing'.
      ls_fieldcatalog-checkbox = 'X'.
      ls_fieldcatalog-key = 'X'.
      APPEND ls_fieldcatalog TO lt_fieldcatalog.
      CLEAR ls_fieldcatalog.
      ls_fieldcatalog-fieldname = 'ICON'.
      ls_fieldcatalog-tabname   = 'INT_CRB'.
      ls_fieldcatalog-datatype  = 'CHAR'.
      ls_fieldcatalog-col_pos    = 2.
      ls_fieldcatalog-intlen     = '4'.
      ls_fieldcatalog-reptext   =  'Status'.
      ls_fieldcatalog-coltext   =  'Status'.
      ls_fieldcatalog-seltext   =  'Status'.
      ls_fieldcatalog-tooltip   =  'Status'.
      APPEND ls_fieldcatalog TO lt_fieldcatalog.
      CLEAR ls_fieldcatalog.
      ls_fieldcatalog-fieldname = 'PERNR'.
      ls_fieldcatalog-tabname   = 'INT_CRB'.
      ls_fieldcatalog-datatype  = 'NUMC'.
      ls_fieldcatalog-col_pos   = 2.
      ls_fieldcatalog-intlen    = '8'.
      ls_fieldcatalog-reptext   =  'Employee Number'.
      ls_fieldcatalog-coltext   =  'Employee Number'.
      ls_fieldcatalog-seltext   =  'Employee Number'.
      ls_fieldcatalog-tooltip   =  'Employee Number'.
      ls_fieldcatalog-key = 'X'.
      APPEND ls_fieldcatalog TO lt_fieldcatalog.
      CLEAR ls_fieldcatalog.
      ls_fieldcatalog-fieldname  = 'VORNA'.
      ls_fieldcatalog-tabname    = 'INT_CRB'.
      ls_fieldcatalog-col_pos    =  3 .
      ls_fieldcatalog-datatype   = 'CHAR'.
      ls_fieldcatalog-outputlen      = '20'.
      ls_fieldcatalog-reptext    = 'Employee Name'.
      ls_fieldcatalog-coltext    = 'Employee Name'.
      ls_fieldcatalog-seltext    = 'Employee Name'.
      ls_fieldcatalog-tooltip    = 'Employee Name'.
    ls_fieldcatalog-key      = 'X'.
      APPEND ls_fieldcatalog TO lt_fieldcatalog.
      CLEAR ls_fieldcatalog.
      ls_fieldcatalog-fieldname  = 'MOVREASON'.
      ls_fieldcatalog-tabname    = 'INT_CRB'.
      ls_fieldcatalog-col_pos    =  4.
      ls_fieldcatalog-datatype   = 'NUMC'.
      ls_fieldcatalog-outputlen  = '10'.
      ls_fieldcatalog-reptext    = 'Move Reason'.
      ls_fieldcatalog-coltext    = 'Move Reason'.
      ls_fieldcatalog-seltext    = 'Move Reason'.
      ls_fieldcatalog-tooltip    = 'Move Reason'.
    ls_fieldcatalog-key      = 'X'.
      APPEND ls_fieldcatalog TO lt_fieldcatalog.
      CLEAR ls_fieldcatalog.
      ls_fieldcatalog-fieldname = 'SHIPDOCNUM'.
      ls_fieldcatalog-tabname   = 'INT_CRB'.
      ls_fieldcatalog-datatype  = 'NUMC'.
      ls_fieldcatalog-outputlen = '10'.
      ls_fieldcatalog-col_pos   =  5.
      ls_fieldcatalog-reptext   = 'Shipping Document Number'.
      ls_fieldcatalog-coltext   = 'Shipping Document Number'.
      ls_fieldcatalog-seltext   = 'Shipping Document Number'.
      ls_fieldcatalog-tooltip   = 'Shipping Document Number'.
    ls_fieldcatalog-key = 'X'.
      APPEND ls_fieldcatalog TO lt_fieldcatalog.
      CLEAR ls_fieldcatalog.
      ls_fieldcatalog-fieldname = 'CREATEDON'.
      ls_fieldcatalog-tabname   = 'INT_CRB'.
      ls_fieldcatalog-col_pos   = 6.
      ls_fieldcatalog-datatype  = 'DATS'.
      ls_fieldcatalog-outputlen = '8'.
      ls_fieldcatalog-reptext   = 'Created On'.
      ls_fieldcatalog-coltext   = 'Created On'.
      ls_fieldcatalog-seltext   = 'Created On'.
      ls_fieldcatalog-tooltip   = 'Created On'.
    ls_fieldcatalog-DO_sum      = 'X'.
      APPEND ls_fieldcatalog TO lt_fieldcatalog.
      CLEAR ls_fieldcatalog.
      ls_fieldcatalog-fieldname = 'CHARGEAMOUNT'.
      ls_fieldcatalog-tabname   = 'INT_CRB'.
      ls_fieldcatalog-col_pos   = 7.
      ls_fieldcatalog-datatype  = 'CURR'.
      ls_fieldcatalog-outputlen = '13'.
      ls_fieldcatalog-reptext   = 'Charge Back Amount'.
      ls_fieldcatalog-coltext   = 'Charge Back Amount'.
      ls_fieldcatalog-seltext   = 'Charge Back Amount'.
      ls_fieldcatalog-tooltip   = 'Charge Back Amount'.
    ls_fieldcatalog-DO_sum      = 'X'.
      APPEND ls_fieldcatalog TO lt_fieldcatalog.
      CLEAR ls_fieldcatalog.
    ENDFORM.                    "fieldcatalog_init
    *&      Form  f_modify_activity
    Modify the activity to 79 in zmpets_shipaciv table.
    -->  p1        text
    <--  p2        text
    FORM f_modify_activity .
      REFRESH int_crb_mail.
      int_crb_mail[] = int_crb[].
    *All the document number which is to be processed is stored in
    *the internel table 'INT_SIN'.
      LOOP AT int_crb INTO int_crb.
        IF int_crb-sel ='X'.
          MOVE int_crb-shipdocnum TO int_sin.
          APPEND int_sin.
          CLEAR int_sin.
    *Removing the processed documents.
          DELETE int_crb.
        ENDIF.
        CLEAR int_crb.
      ENDLOOP.
    *Get the details from shipactiv table.
      IF int_sin[] IS NOT INITIAL.
        SELECT * FROM zmpets_shipactiv
            INTO TABLE int_shipactiv
              FOR ALL ENTRIES IN int_sin
                    WHERE petsdocnumber = int_sin-shipdocnum.
    *Modify the activity code, version, actual date and last changed date.
        SORT int_shipactiv BY petsdocnumber version DESCENDING.
        CLEAR wf_tabix.
        LOOP AT int_shipactiv.
          wf_tabix = sy-tabix.
          AT NEW petsdocnumber.
            READ TABLE int_shipactiv INDEX wf_tabix.
            int_shipactiv-activity = '030'.
            int_shipactiv-version = int_shipactiv-version + 1.
            int_shipactiv-actdate = sy-datum.
            int_shipactiv-lastchangedby = sy-uname.
            int_shipactiv-lastchangedt = sy-datum.
    *Modify the data base table
            MODIFY zmpets_shipactiv FROM int_shipactiv.
          ENDAT.
          CLEAR int_shipactiv.
          AT LAST.
    *Message is 'Data Processed Successfully.'.
            MESSAGE s203(zm050).
          ENDAT.
        ENDLOOP.
    *-send mail to the vendor and employee that the shipment is cleared for
        LOOP AT int_crb_mail WHERE sel = 'X'.
          PERFORM f_send_mail.
        ENDLOOP.
        REFRESH int_crb_mail.
       CALL SELECTION-SCREEN 1000.
      ELSE.
    *Message is 'No Data Selected for Processing.'.
        MESSAGE s200(zm050).
      ENDIF.
    ENDFORM.                    " f_modify_activity
    *&      Form  f_clear_fields
          text
    -->  p1        text
    <--  p2        text
    FORM f_clear_fields .
      CLEAR int_crb.
      CLEAR int_crb_ver.
      CLEAR int_sin.
      REFRESH int_crb.
      REFRESH int_crb_ver.
      REFRESH int_sin.
      CLEAR int_shipactiv.
      REFRESH int_shipactiv.
      CLEAR wf_flag.
      CLEAR wf_tabix.
    ENDFORM.                    " f_clear_fields
    *&      Form  f_filter_data
          text
    -->  p1        text
    <--  p2        text
    FORM f_filter_data .
    *Take the latest Version Data.
    *take all the activities, including the activity '30'.
    then put the details in internal table 'INT_CRB'.
      SORT int_crb_ver BY shipdocnum version DESCENDING.
      CLEAR wf_tabix.
      CLEAR int_crb.
      REFRESH int_crb.
      LOOP AT int_crb_ver.
        wf_tabix = sy-tabix.
        AT NEW shipdocnum.
          READ TABLE int_crb_ver INDEX wf_tabix.
          MOVE-CORRESPONDING int_crb_ver TO int_crb.
          APPEND int_crb.
          CLEAR int_crb.
        ENDAT.
      ENDLOOP.
      IF int_crb[] IS INITIAL.
    *Message is 'No Records Available.'.
        MESSAGE s202(zm050).
      ELSE.
        CLEAR wf_tabix.
        LOOP AT int_crb.
          wf_tabix = sy-tabix.
          REFRESH lt_celltab.
          ls_celltab-fieldname = 'SEL'.
          IF int_crb-activity = '030'.
            ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled.
    *status becomes green. ie processed
            int_crb-icon = '@08@'. "Green
          ELSE.
            ls_celltab-style = cl_gui_alv_grid=>mc_style_enabled.
    *status set to red. ie not yet processed
            int_crb-icon = '@0A@'. "Red
          ENDIF.
          INSERT ls_celltab INTO TABLE lt_celltab.
          INSERT LINES OF lt_celltab INTO TABLE int_crb-celltab.
          MODIFY int_crb INDEX wf_tabix.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " f_filter_data
    *&      Form  f_filter_data
          text
    -->  p1        text
    <--  p2        text
    FORM f_filter_data_pending.
    *Take the latest Version Data.
    *take all the activities, including the activity '30'.
    *then filter it with out the activities '30' and having the lastest
    *version. then put the details in internal table 'INT_CRB'.
      SORT int_crb_ver BY shipdocnum version DESCENDING.
      CLEAR wf_tabix.
      CLEAR int_crb.
      REFRESH int_crb.
      LOOP AT int_crb_ver.
        wf_tabix = sy-tabix.
        AT NEW shipdocnum.
          READ TABLE int_crb_ver INDEX wf_tabix.
          IF int_crb_ver-activity NE '030'.
            MOVE-CORRESPONDING int_crb_ver TO int_crb.
            APPEND int_crb.
            CLEAR int_crb.
          ENDIF.
        ENDAT.
      ENDLOOP.
      IF int_crb[] IS INITIAL.
    *Message is 'No Records Available.'.
        MESSAGE s202(zm050).
      ENDIF.
    ENDFORM.                    " f_filter_data_pending
    *&      Form  EXCLUDE_TB_FUNCTIONS
          text
         <--P_LT_EXCLUDE  text
    FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
      DATA ls_exclude TYPE ui_func.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_cut.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste_new_row.
      APPEND ls_exclude TO pt_exclude.
      ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo.
      APPEND ls_exclude TO pt_exclude.
    ENDFORM.                               " EXCLUDE_TB_FUNCTIONS
    *&      Form  f_send_mail
          text
    -->  p1        text
    <--  p2        text
    FORM f_send_mail .
    *store the vendor name, vendor email id , employee name and employee
    *email id in the internal table int_crb
    Creation of the document to be sent
      CLEAR doc_chng.
      REFRESH objpack.
      REFRESH objhead.
      REFRESH  reclist.
      REFRESH objtxt.
    File Name
      doc_chng-obj_name = 'SHIPMENT'.
    Mail Subject
      CONCATENATE 'Shipment Document No.' int_crb_mail-shipdocnum
      'Cleared.'
      INTO doc_chng-obj_descr SEPARATED BY ' '.
    Mail Contents
      objtxt-line = 'Hi,'.
      APPEND objtxt.
      objtxt-line = ' '.
      APPEND objtxt.
      CONCATENATE 'Shipment Document Number ' int_crb_mail-shipdocnum
    ' cleared for move.' INTO objtxt-line SEPARATED BY ' '.
      APPEND objtxt.
      objtxt-line = ' '.
      APPEND objtxt.
      CLEAR  objtxt.
      objtxt-line = 'Regards '.
      APPEND objtxt.
      objtxt-line = ' '.
      APPEND objtxt.
      objtxt-line = 'SAP '.
      APPEND objtxt.
      CLEAR  objtxt.
      APPEND objtxt.
      DESCRIBE TABLE objtxt LINES tab_lines.
      READ TABLE objtxt INDEX tab_lines.
      doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN(
    objtxt ).
    Creation of the entry for the compressed document
      CLEAR objpack-transf_bin.
      objpack-head_start = 1.
      objpack-head_num = 0.
      objpack-body_start = 1.
      objpack-body_num = tab_lines.
      objpack-doc_type = 'RAW'.
      APPEND objpack.
    Completing the recipient list
    target recipent
      CLEAR reclist.
      reclist-receiver = int_crb_mail-empperid. "employee email ID
      "wf_empperid.
      reclist-express  = 'X'.
      reclist-rec_type = 'U'.
      APPEND reclist.
    copy recipents
    CLEAR reclist.
    reclist-receiver = 'anversha.shahul@'."int_crb_mail-smtp_addr
    reclist-express  = 'X'.
    reclist-rec_type = 'U'.
    reclist-copy     = 'X'.
    APPEND reclist.
    Sending the document
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = doc_chng
        TABLES
          packing_list               = objpack
          object_header              = objhead
       contents_bin               = objbin
          contents_txt               = objtxt
          receivers                  = reclist
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          OTHERS                     = 99.
      COMMIT WORK.
      SUBMIT rsconn01
                    WITH mode = 'INT'
                    WITH output = ' '
                      AND RETURN.
    ENDFORM.                    " f_send_mail
    rgds
    anver
    pls mark hlpful answers

Maybe you are looking for