This document discusses transferring attachments from an ECC PR (purchase requisition) to an SRM shopping cart. It provides methods for fetching attachment data from ECC using RFC and GOS, and attaching it to the first line item in the SRM shopping cart using DMS and custom function modules, since there is no concept of header attachments in SRM. The key steps are:
1. Create an RFC-enabled function module in ECC to fetch attachment data
2. Create a new function module in SRM to receive the attachment data from ECC and attach it to the first line item in the shopping cart
3. Enhance an existing SRM function module used during PR transfer to call the new attachment transfer function module
Tired of writing messy messy "if" statements for all your exception handling? Learn how to take full advantage of functional programming theory, without the theory, Ruby-style!
https://github.com/mindeavor/solid_use_case
Monoids, Store, and Dependency Injection - Abstractions for Spark Streaming JobsRyan Weald
Talk I gave at a Spark Meetup on 01/16/2014
Abstract:
One of the most difficult aspects of deploying spark streaming as part of your technology stack is maintaining all the job associated with stream processing jobs. In this talk I will discuss the the tools and techniques that Sharethrough has found most useful for maintaining a large number of spark streaming jobs. We will look in detail at the way Monoids and Twitter's Algebrid library can be used to create generic aggregations. As well as the way we can create generic interfaces for writing the results of streaming jobs to multiple data stores. Finally we will look at the way dependency injection can be used to tie all the pieces together, enabling raping development of new streaming jobs.
Tired of writing messy messy "if" statements for all your exception handling? Learn how to take full advantage of functional programming theory, without the theory, Ruby-style!
https://github.com/mindeavor/solid_use_case
Monoids, Store, and Dependency Injection - Abstractions for Spark Streaming JobsRyan Weald
Talk I gave at a Spark Meetup on 01/16/2014
Abstract:
One of the most difficult aspects of deploying spark streaming as part of your technology stack is maintaining all the job associated with stream processing jobs. In this talk I will discuss the the tools and techniques that Sharethrough has found most useful for maintaining a large number of spark streaming jobs. We will look in detail at the way Monoids and Twitter's Algebrid library can be used to create generic aggregations. As well as the way we can create generic interfaces for writing the results of streaming jobs to multiple data stores. Finally we will look at the way dependency injection can be used to tie all the pieces together, enabling raping development of new streaming jobs.
Patterns and Tools for Database Versioning, Migration, Data Loading and Test ...Alan Pinstein
Talk given at CodeWorks PHP Conference in Atlanta on 9/29/2009.
Covers MP "migrations for php" project as well as other best-practices for managing database migrations for PHP projects.
Your admin toolbelt is not complete without Salesforce DXDaniel Stange
"Learn to Leverage and Love the aDmin eXperience"
Presentation by Christian Szandor Knapp and Daniel Stange, given at French Touch Dreamin' in Paris, November 14th, 2018
Patterns and Tools for Database Versioning, Migration, Data Loading and Test ...Alan Pinstein
Talk given at CodeWorks PHP Conference in Atlanta on 9/29/2009.
Covers MP "migrations for php" project as well as other best-practices for managing database migrations for PHP projects.
Your admin toolbelt is not complete without Salesforce DXDaniel Stange
"Learn to Leverage and Love the aDmin eXperience"
Presentation by Christian Szandor Knapp and Daniel Stange, given at French Touch Dreamin' in Paris, November 14th, 2018
Devops Day Amsterdam 2015
Arista vEOS lab in Ravello with Opscode Chef server.
Run the lab switches with chef-client and control them with cookbooks and API's
Agile and compliant firewall ACL configuration management for DevOpsJ On The Beach
Networking and security management, based on firewall policy configuration operation, has historically been very difficult because of the high complexity of networks, and the diversity of the different firewall vendors. Thus, while DevOps are performing agile server configuration management, the firewall rules that define the application connectivity are still managed in the old-school way, introducing a bottleneck into the software and infrastructure delivery pipeline.
In this talk, we'll show how to abstract, describe and attach the application connectivity description (policies) to the infrastructure specification as high-level intents into a multi-vendor and multi-technology network (in-premise, cloud-based, PaaS-based, etc.) ensuring continuous compliance and that all potential problems are detected before the policies are provisioned into the infrastructure.
KFServing, Model Monitoring with Apache Spark and a Feature StoreDatabricks
In recent years, MLOps has emerged to bring DevOps processes to the machine learning (ML) development process, aiming at more automation in the execution of repetitive tasks and at smoother interoperability between tools. Among the different stages in the ML lifecycle, model monitoring involves the supervision of model performance over time, involving the combination of techniques in four categories: outlier detection, data drift detection, explainability and adversarial attacks. Most existing model monitoring tools follow a scheduled batch processing approach or analyse model performance using isolated subsets of the inference data. However, for the continuous monitoring of models, stream processing platforms show several advantages, including support for continuous data analytics, scalable processing of large amounts of data and first-class support for window-based aggregations useful for concept drift detection.
In this talk, we present an open-source platform for serving and monitoring models at scale based on Kubeflow’s model serving framework, KFServing, the Hopsworks Online Feature Store for enriching feature vectors with transformer in KFServing, and Spark and Spark Streaming as general purpose frameworks for monitoring models in production.
We also show how Spark Streaming can use the Hopsworks Feature Store to implement continuous data drift detection, where the Feature Store provides statistics on the distribution of feature values in training, and Spark Streaming computes the statistics on live traffic to the model, alerting if the live traffic differs significantly from the training data. We will include a live demonstration of the platform in action.
O365 Saturday - Deepdive SharePoint Client Side RenderingRiwut Libinuko
Deepdive to SharePoint Client Side Rendering.
This presentation includes demo that you can follow on Youtube channel https://www.youtube.com/channel/UC_qdk2Sv-qKDkXGZolQZSew.
Source code for this presentation is also available through GitHub https://github.com/cakriwut/Business365.CSR
Building Single Page Application (SPA) with Symfony2 and AngularJSAntonio Peric-Mazar
Forget about classic website where UX is not so important. We are living in time where usability is one of the important thing if you are building some business client oriented web service. How to connect Symfony2 as backend and AngularJS as frontend solution? What are best practices? What are disadvantageous? How to take best from both worlds? These are topics I will cover in my talk with real examples.
An extremely little set of rules to write good commit messages.
History (how code changes over time) become a very useful tool if associated with good commit messages.
These slides would make developers more aware about how good commit messages could improve their work.
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...StreamNative
Despite what the Ghostbusters said, we’re going to go ahead and cross (or, join) the streams. This session covers getting started with streaming data pipelines, maximizing Pulsar’s messaging system alongside one of the most flexible streaming frameworks available, Apache Flink. Specifically, we’ll demonstrate the use of Flink SQL, which provides various abstractions and allows your pipeline to be language-agnostic. So, if you want to leverage the power of a high-speed, highly customizable stream processing engine without the usual overhead and learning curves of the technologies involved (and their interconnected relationships), then this talk is for you. Watch the step-by-step demo to build a unified batch and streaming pipeline from scratch with Pulsar, via the Flink SQL client. This means you don’t need to be familiar with Flink, (or even a specific programming language). The examples provided are built for highly complex systems, but the talk itself will be accessible to any experience level.
Serverless in production, an experience report (LNUG)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan and Scott will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
Serverless in Production, an experience report (cloudXchange)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan and Scott will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Fundamentals of Programming and Language Processors
R3 tosrm attach
1. Attachment Transfer from ECC PR to SRMAttachment Transfer from ECC PR to SRM
Situation:Situation:
•• Material, Service & Limit itemMaterial, Service & Limit item procurement in Extended Classic Scenario are intended to transferred thruprocurement in Extended Classic Scenario are intended to transferred thru
RFC routeRFC route
Requirement:Requirement:
•• Quotes from the Supplier has to beQuotes from the Supplier has to be attached as a reference document while Buyerattached as a reference document while Buyer sends a POsends a PO
•• Craftsmen have to use the explodedCraftsmen have to use the exploded view diagram from the manufacturer to findview diagram from the manufacturer to find the item they needthe item they need
•• Technical Documents/Drawings that have to be attached to the ECC PRTechnical Documents/Drawings that have to be attached to the ECC PR
Challenges:Challenges:
•• Only ECC PR canOnly ECC PR can be transferred thru BBP_EXTREQ_TRANSFERbe transferred thru BBP_EXTREQ_TRANSFER
•• There is no SC header therefore PRThere is no SC header therefore PR Header attachments cannot be seen in theHeader attachments cannot be seen in the SC headerSC header
•• Hence PR Header attachments have to be attached to the SC first Line ItemHence PR Header attachments have to be attached to the SC first Line Item
Methods:Methods:
•• DMS (Document Management Server)DMS (Document Management Server)
•• GOS (General Object Service)GOS (General Object Service)
•• DMS & GOS for attachment transferDMS & GOS for attachment transfer
http://www.sapfans.com/forums/viewtopic.php?f=12&t=349621http://www.sapfans.com/forums/viewtopic.php?f=12&t=349621
Recommendation:Recommendation:
Scenario: One wants to transfer a PR header attachment from ECC to SRM Shopping Cart.Scenario: One wants to transfer a PR header attachment from ECC to SRM Shopping Cart.
This blog shows how to transfer header attachments from PR to SRM SC when--This blog shows how to transfer header attachments from PR to SRM SC when--
1. PR header attachments are Service (GOS) and NOT DMS.1. PR header attachments are Service (GOS) and NOT DMS.
2. Report BBP_EXTREQ_TRANSFER is used to send PR to SRM.2. Report BBP_EXTREQ_TRANSFER is used to send PR to SRM.
Since there is no concept of attachment at SC header we will attach the PR header attachments to first item of SC.Since there is no concept of attachment at SC header we will attach the PR header attachments to first item of SC.
Step1--> Fetch the attachment data in ERP systems as explained below.Step1--> Fetch the attachment data in ERP systems as explained below.
Create an RFC enabled function module in back end system with following interface:Create an RFC enabled function module in back end system with following interface:
Importing Parameters:Importing Parameters:
Exporting Parameters:Exporting Parameters:
2. Attachment Transfer from ECC PR to SRM
Source Code of Function Module:
**conversion declaration
DATA: lv_codep TYPE cpnormcp,
lo_conu TYPE REF TO cl_abap_conv_uc_number.
DATA: lt_asci_list TYPE TABLE OF solisti1 WITH HEADER LINE,
lt_conhex TYPE solix OCCURS 1 WITH HEADER LINE,
lv_inp TYPE string,
lv_ous TYPE xstring,
lv_len TYPE i.
**End
DATA: lo_is_object_a TYPE sibflporb.
DATA: lt_rel TYPE obl_t_relt,
wa_rel LIKE LINE OF lt_rel.
DATA: lt_links TYPE obl_t_link,
lw_links TYPE obl_s_link,
lv_document_id TYPE so_entryid,
ls_data TYPE sofolenti1.
DATA lt_content TYPE swuoconttab.
lo_is_object_a-typeid = 'BUS2105'.
lo_is_object_a-catid = 'BO' .
lo_is_object_a-instid = p_bo_id .
wa_rel-sign = 'I'.
wa_rel-option = 'EQ'.
wa_rel-low = 'ATTA' .
APPEND wa_rel TO lt_rel.
TRY.
3. Attachment Transfer from ECC PR to SRM
CALL METHOD cl_binary_relation=>read_links
EXPORTING
is_object = lo_is_object_a
it_relation_options = lt_rel
IMPORTING
et_links = lt_links.
CATCH cx_obl_parameter_error .
CATCH cx_obl_internal_error .
CATCH cx_obl_model_error .
ENDTRY.
* DESCRIBE TABLE lt_links LINES ev_records.
* LT_LINKS contains one record for each attachment at header
* Read all attachments one by one
* In case of text files table it_solix(binary) is initial after below FM call but lt_asci_list is populated with CHAR
format string passing this directly as *export/table parameter to the calling system(SRM)causes dump
PARAMETER_CONVERSION_ERROR in calling system so alwasy convert the *CHAR strinh into Binary data before
sending to calling system
READ TABLE lt_links INTO lw_links INDEX iv_read_index.
IF sy-subrc = 0.
lv_document_id = lw_links-instid_b .
CALL FUNCTION 'SO_DOCUMENT_READ_API1'
EXPORTING
document_id = lv_document_id
IMPORTING
document_data = ls_data
TABLES
object_content = lt_asci_list
contents_hex = it_solix
EXCEPTIONS
document_id_not_exist = 1
operation_no_authorization = 2
x_error = 3
OTHERS = 4.
es_data = ls_data.
4. Attachment Transfer from ECC PR to SRM
* In case converting CHAR string to Binary data for sending to calling system
IF NOT lt_asci_list[] IS INITIAL.
CALL FUNCTION 'SYSTEM_CODEPAGE' "get the current code page
IMPORTING
codepage = lv_codep
.
CREATE OBJECT lo_conu "instantiate cl_abap_conv_uc_number
EXPORTING
im_source_codepage = lv_codep
EXCEPTIONS
converter_creation_failed = 1
OTHERS = 2.
LOOP AT lt_asci_list.
WRITE cl_abap_char_utilities=>cr_lf TO lt_asci_list-line+253. "to put linefeed at end
MOVE lt_asci_list-line TO lv_inp. "move char to input string
CALL METHOD lo_conu->convert_char_stream "call method to convert
EXPORTING
im_stream = lv_inp
IMPORTING
ex_stream = lv_ous
ex_stream_len = lv_len
EXCEPTIONS
conversion_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
CONTINUE. "if error in conversion than do no append to table
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
MOVE lv_ous TO lt_conhex-line. "move the binary string to binary table
APPEND lt_conhex.
ENDIF.
ENDLOOP.
it_content[] = lt_conhex[].
ENDIF.
ELSE.
ev_exit = 'X'.
ENDIF.
* ENDLOOP.
ENDFUNCTION.
5. Attachment Transfer from ECC PR to SRM
Step2--> Changes on SRM Side
Create a new function module in SRM as shown below:
Importing Parameter:
Exporting Parameter:
Source Code of Function Module:
DATA: is_data TYPE sofolenti1,
it_content TYPE tabtype_solix,
it_solix TYPE tabtype_solix,
ls_attach TYPE bbps_pdext_attach,
ls_sdokfext_c TYPE sdokfext_c,
ls_sdokfext TYPE sdokfext .
DATA: lv_pr_no TYPE char10 ,
lv_logsys TYPE char10,
iv_exit TYPE flag,
ev_read_index TYPE i VALUE 1,
lv_xstring TYPE xstring.
FIELD-SYMBOLS: <fs_hdr> TYPE any,
<fs_pr_no> TYPE any,
<fs_logsys> TYPE any.
6. Attachment Transfer from ECC PR to SRM
* Get PR no.
ASSIGN i_header TO <fs_hdr>.
ASSIGN COMPONENT 'EXT_DEMID' OF STRUCTURE
<fs_hdr> TO <fs_pr_no>.
lv_pr_no = <fs_pr_no>.
* Get Logical system
ASSIGN COMPONENT 'EXT_DEM_LOGSYS' OF STRUCTURE
<fs_hdr> TO <fs_logsys>.
lv_logsys = <fs_logsys>.
WHILE iv_exit IS INITIAL.
**Fetch header attachments from Backend System
CALL FUNCTION 'RFC_CREATED_IN_BE_SYSTEM' DESTINATION lv_logsys
EXPORTING
p_bo_id = lv_pr_no
iv_read_index = ev_read_index
IMPORTING
es_data = is_data
it_content = it_content
it_solix = it_solix
ev_exit = iv_exit.
ev_read_index = ev_read_index + 1.
IF NOT is_data IS INITIAL.
ls_attach-guid = lv_pr_no.
ls_attach-p_guid = '0001'.
ls_attach-description = is_data-obj_descr.
* Get and set mime type
TRANSLATE is_data-obj_type TO LOWER CASE.
ls_attach-phio_ext = is_data-obj_type.
* Searching in customer defined mime types
CLEAR ls_sdokfext_c .
SELECT SINGLE * FROM sdokfext_c
INTO ls_sdokfext_c
WHERE extension = is_data-obj_type.
IF sy-subrc NE 0 OR ls_sdokfext_c-type IS INITIAL.
* Searching in default mime types
CLEAR ls_sdokfext .
SELECT SINGLE * FROM sdokfext
INTO ls_sdokfext
WHERE extension = is_data-obj_type.
IF sy-subrc NE 0 OR ls_sdokfext-type IS INITIAL.
* no mime type found - assigning default mime type
7. Attachment Transfer from ECC PR to SRM
ls_attach-phio_mime = 'application/octetstream'.
ELSE.
ls_attach-phio_mime = ls_sdokfext-type.
ENDIF.
ELSE.
ls_attach-phio_mime = ls_sdokfext_c-type.
ENDIF.
ls_attach-phio_fname = is_data-obj_descr.
ls_attach-phio_ps_mime = is_data-obj_descr.
ls_attach-phio_fsize = is_data-doc_size.
ls_attach-phio_fsize = is_data-doc_size.
**convert SOLIX to XSTRING
IF NOT it_solix IS INITIAL.
CALL METHOD cl_bcs_convert=>solix_to_xstring
EXPORTING
it_solix = it_solix
* iv_size =
RECEIVING
ev_xstring = lv_xstring.
ELSEIF NOT it_content IS INITIAL."for text files it_solix is initial and it_content has converted binary data
CALL METHOD cl_bcs_convert=>solix_to_xstring
EXPORTING
it_solix = it_content
* iv_size =
RECEIVING
ev_xstring = lv_xstring.
ENDIF.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = lv_xstring
TABLES
binary_tab = ls_attach-phio_content.
APPEND ls_attach TO et_attach.
ENDIF.
ENDWHILE.
ENDFUNCTION.
8. Attachment Transfer from ECC PR to SRM
Standard function module BBP_BD_PDDOC_FROM_BAPI_MAPS is called on SRM side when transferring PR uses
BBP_EXTREQ_TRANSFER
Enhance function module BBP_BD_PDDOC_FROM_BAPI_MAPS at end.
We check the call stack to ensure that the FM is called by BBP_EXTREQ_TRANSFER only and not in any other
process.
IF SY_SUBRC = 0.
CALL FUNCTION 'FM_CREATED_IN_SRM_SYSTEM'
EXPORTING
I_HEADER = IS_HEADER <--Already there in FM BBP_BD_PDDOC_FROM_BAPI_MAPS
IT_ITEMS = IT_ITEMS <--Already there in FM BBP_BD_PDDOC_FROM_BAPI_MAPS
IMPORTING
ET_ATTACH = ET_ATTACH <--Already there in FM BBP_BD_PDDOC_FROM_BAPI_MAPS
ENDIF.
Source: http://scn.sap.com/community/srm/blog/2013/03/07/purchase-requisition-header-attachment-
transfer-to-srm-shopping-cart-first-item
Dated: 7
th
March 2013
9. Attachment Transfer from ECC PR to SRM
Following are the additional discussions from SCN:
#
We are customizing the plan-driven Procurement in SRM 5.5.
We implement badi in order to transfer Zfield from reservation (ECC document) to SC (SRM document). We want to
populate header SC data (table BBP_PDHGP).
In order to do it we have previously followed these steps:
1. We add zfields to HEADER_CUST_IMP structure
2. We add zfields to BBPS_ER_SC_HEADER_CUST_C structure
If we run program BBP_EXTREQ_TRANSFER in debugging mode, we find that the problem appears in
bapi BBP_BD_PDDOC_FROM_BAPI_MAPS. Structures IS_HEADER and IS_HEADER_CUST are populated
correctly, but ES_HEADER is only filled up with IS_HEADER information, but not with IS_HEADER_CUST data.
If the zfield is not passed from R/3 to SRM,try this workaround:
Create the custom field in R/3 and populate the value for that field in R/3(manually/trhough transaction).
Instead of passing this field from R/3 to SRM,in SRM ,create a custom field at the SC header level(refer notes
672960 and 458591 ).Then in the badi "BBP_DOC_CHANGE_BADI",populate the value for that field using the SC
number. Pass the SC number to the FM "BBP_PD_SC_GETDETAIL" and in the table ET_ITEM,in the fiel
d"EXT_DEMID",you will get the backend reservation number from which this SC is created.Then make an RFC call
to the backend using the FM "BAPI_RESERVATION_GETDETAIL" and fetch the value of the custom field in the R/3
backend reservation and accordingly populate in the SRM custom field.A bit tedious method but will work!
-https://scn.sap.com/thread/1099988
#
If i understand your question correctly you want to transfer documents which are attached at the shopping cart
level in SRM to flow in to ECC at PR or PO level? If that the case following steps require to have documents flow
into ECC.
SRM Side:
Implement BADI BBP_CREATE_BE_RQ_NEW (If you are on classic scenario i.e. Shopping cart to PR creation) or
BBP_CREATE_BE_PO_NEW (For extended classic) with following code:
cs_ctrl_att-BE_DOC_TYPE = 'SRM'.
cs_ctrl_att-BE_storage_cat = 'DMS_C1_ST'.
cs_ctrl_att-TRANSFER_ACTIVE = 'X'.
ECC Side:
-Create a new document type for SRM with T. Code DC10. Following parameters need to be set for that
a. Check Use KPro
b. Check Version Assignment
c. Check Change Docs
d. Assign Internal number range as u201C02u201D and external number range as u201C01u201D
e. Select Number Exit u201CMCDOKZNRu201D
f. Version number increment u201C1u201D
g. File Size u201C10000000u201D
10. Attachment Transfer from ECC PR to SRM
- Assign following Object links to the new created document type u201CSRMu201D.
a. Type as u201CSRMu201D
b. Object as u201CEBANu201D and u201CEKPOu201D respectively
c. Object description as u201CPurchase req. itemu201D and u201CPurchase order itemu201D respectively
d. Screen number u201C247u201D for EBAN and u201C248u201D for EKPO.
- Request basis to verify DC30 transaction code that all the necessary document type are allowed to x'fer (i.e. .doc,
.xls , .jpg etc)
With this setting we were able to successfully transfer document from SRM side to ECC side
- https://scn.sap.com/thread/1276141
****
#
The usual procedure for integrating SRM AND DMS is as follows,
1.OAC0- Creation of the SAP Content Repository
a.ArchiveLink
b.HTTP Content Server
2 repositories were created one with a Document Area of Archive Link and another with a document area of DMS.
SRM will use the Content Repository with the DMS document area.
Maintain categories->
The storage category links the storage category with a content repository.
SRM will reference the storage category and from this configuration determine the storage location as a content
repository.
respect ur specific Q for other areas u will find while configuring cotent repositry.
1.u will find FTP wile u configuring ur content repository.
this is used for external file handling purpose.
- https://scn.sap.com/thread/1276141
****
#
I want open a document stored in DMS through RFC BAPI, from an external application (for example .NET)
EasyDNS run OK: I have included the bapi Z_EASYDMS_ECL_OPEN_DOCUMENT (code from a SAP note) in the
system and I can open ECL/EAI & local documents (pdf, word, ...)
If I run Z_EASYDMS_ECL_OPEN_DOCUMENT from SE37 run OK: I can see every document, document is
downloaded to local system and then open.
11. Attachment Transfer from ECC PR to SRM
But when I call bapi Z_EASYDMS_ECL_OPEN_DOCUMENT from my external application through RFC I don't receive
any result: document is not download to local system.
I have debugged the bapi (with SM50) and I have see that the calling entry in bapi, run and then ... crash.
I have detected the fail in OLE_FLUSH_CALL: system has a dump.
Summary:
- EasyDMS run Ok
- SE37 Z_EASYDMS_ECL_OPEN_DOCUMENT run ok
- Z_EASYDMS_ECL_OPEN_DOCUMENT dump at OLE_FLUSH_CALL
Any idea?
-http://scn.sap.com/thread/1233035
****
#
It is possible to extract DMS's file to application server directory:
FUNCTION Z_DMS_VIEW.
*"----
""Interfase local
*" IMPORTING
*" VALUE(DOC_NUMBER) LIKE BAPI_DOC_DRAW2-DOCUMENTNUMBER OPTIONAL
*" VALUE(DOC_PART) LIKE BAPI_DOC_DRAW2-DOCUMENTPART OPTIONAL
*" VALUE(DOC_TYPE) LIKE BAPI_DOC_DRAW2-DOCUMENTTYPE OPTIONAL
*" VALUE(DOC_VERS) LIKE BAPI_DOC_DRAW2-DOCUMENTVERSION OPTIONAL
*" VALUE(ORIGINAL_PATH) LIKE BAPI_DOC_AUX-FILENAME OPTIONAL
*" EXPORTING
*" VALUE(P_RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2
*" TABLES
*" DOC_FILES STRUCTURE BAPI_DOC_FILES2 OPTIONAL
*"----
CLEAR: doc_files.
REFRESH: doc_files.
DATA: i_doc_files like bapi_doc_files2.
DATA: i type i.
*
i = 2.
while i = 2.
i = 2.
endwhile.
CALL FUNCTION 'BAPI_DOCUMENT_CHECKOUTVIEW2'
EXPORTING
12. Attachment Transfer from ECC PR to SRM
DOCUMENTTYPE = DOC_TYPE
DOCUMENTNUMBER = DOC_NUMBER
DOCUMENTPART = DOC_PART
DOCUMENTVERSION = DOC_VERS
DOCUMENTFILE = i_doc_files
GETSTRUCTURE = '0'
GETCOMPONENTS = 'X'
ORIGINALPATH = ORIGINAL_PATH
HOSTNAME = ' '
GETHEADER = 'X'
PF_HTTP_DEST = 'SAPHTTPA'
PF_FTP_DEST = 'SAPFTPA'
IMPORTING
RETURN = P_RETURN
TABLES
DOCUMENTFILES = DOC_FILES.
ENDFUNCTION.
ORIGINAL_PATH must be a directory of application server.
By background is not possible (I don't know how can we do that) download this file to PC.
Then with the file in application server we can :
- to map application server directory in a drive unit of Pc
- to transfer with a ftp client from Pc
- rfcexec
But always the bapi can not download the file: it must be a process in Pc who transfer the file.
- http://scn.sap.com/thread/1233035
****
#
BADI BBP_CREATE_BE_RQ_NEW (in SRM)
you need to set attachement active with statement
CS_CTRL_ATT-TRANSFER_ACTIVE = 'X'.
BADI BBP_SC_TRANSFER_BE. Set CV_ATTCH_TRANSFER_ACTIVE paramater in SRM
Configure Document Type in R/3
- Transaction DC10 - Add a New Document Type SRM (if not already exists). Set 'Use KPro', 'Version Assign' and
'Change Docs'. Set the Internal and External Number Range (02 and 01). Use MCDOKZNR as Number Exit. Ver No.
Incr = 1 and Set the File Size (Usually 10000000 bytes).
Once the Document Type is created, define Object links to PO Item and Pur Req Item. Use - Screen Number 247
and Screen Number 248 with Valuation Object of EBAN and EKPO for Objects EBAN (PReq) and EKPO (PO) for Doc
Type SRM.
13. Attachment Transfer from ECC PR to SRM
3. Check whether you have all the workstation applications configured in R/3 (DOC, TXT, PDF, XLS etc) in
Transaction DC30.
Additional Checks:
- If you are transferring attachments and not link - make sure you have Implemented OSS Note: 820897 in R/3.
If the above settings does not give you results - you may want to debug and find out the exact error message while
creating the attachment.
- Check the R/3 Release and get the corresponding driver from BBP_FUNCTION_MAP table with Object Type as
DOCUMENT and Method - CreateFromData.
- Set the Breakpoint at Function Module BAPI_DOCUMENT_CREATE2 and at CVAPI_DOC_CHECKIN in the above
driver. These Function Modules will return you the exact error message.
-http://scn.sap.com/message/1155564#1155564
****
#
Attachment transfert to R/3 purchasing doc is now standard since SRM 4.0.
Your R/3 backend should be at least 46C.
It must be activated in BADI BBP_CREATE_REQ_BACK.
You must also specify backend content storage parameters in this BADI, based on the backend customizing of
DMS.
You can use the following parameters for transferring the attachements to the backend system:
CT_ATTACH_BE KW attachments including document
CV_ATTACH_BE_DOC_TYPE Document type (standard is SRM)
CV_ATTACH_BE_STORAGE_CAT Storage type (standard is DMS_C1_ST)
CV_ATTACH_TRANSFER_ACTIVE Activate transfer of attachments
CV_ATTACH_USE_URL Transfer URL only
Then during the PR creation, SRM uses META_ATTACHMENT_CREATE using previous parameters.
BAPI_DOCUMENT_CREATE2 will be called in R/3.
-http://scn.sap.com/message/1155564#1155564
To complete this integration I think you just need to Create your new External Repository 'ZA' in OAC0.
Then go in OACT and open BBPFILESYS. In Content Rep put 'ZA' our External Repository.
-http://scn.sap.com/thread/1270026
****
#
We had a similar situation where we had to switch the storage of attachments from SAP SRM server to Archive doc
server.
After making the switch we had to migrate the attachments from the old Shopping carts to the new Content
server.
to achieve this we executed a report RSIRPIRL via SA38. Here you would enter the Target and Source category,
Document area
14. Attachment Transfer from ECC PR to SRM
and PHIO class.
I know the response might be old and too late for you but still would like to log the info for the benefit of others in
the future.
- http://scn.sap.com/thread/1270026
****
# Configuring Attachment Transfer
Prerequisites
If you wish to store shopping cart attachments in the backend system, you must first activate the data transfer by
creating an active method in the BAdIs BBP_CREATE_BE_PO_NEW (for purchase orders) or
BBP_CREATE_BE_RQ_NEW (for purchase requisitions).
For more information, see the Implementation Guide (IMG) for Supplier Relationship Management: SRM Server
®Business Add-Ins (BAdIs) ® Follow-On Document Generation in the Backend-System ® Purchase Order in Backend
System.
Or choose SRM Server ® Business Add-Ins (BAdIs) ® Follow-On Document Generation in the Backend-System ®
Purchase Requisition in Backend-System.
Procedure
You have to configure the R/3 Document Management System (DMS) in transaction DC10:
...
1. Create document type SRM. Note that no flag is set in any of the columns.
2. Double-click in the detail view to define the new Doc. type desc. = SRM Documents. Set the Use KPro
indicator.
¡ Enter 1 in the Number assignment field.
¡ Enter an internal number range interval. You can use an existing interval or create a newone in transaction
CV90. The internal number range must be used, because the GUID of the SRM attachments has more digits than
the number in the backend system.
¡ Maintain the number exit. The number exit is a program exit for document numbers. It controls number
assignment and version numbering for documents. The default setting is MCDOKZNR. If you want to control the
number assignment or the version increment via a USER_EXIT, then you have to replace the program
MCDOKZNRwith a company-specific program. You can find further information in the field help for number exit.
¡ In the screen area Field selection, enter u2013 in the Document Status field.
3. Go to the dialog structure and double-click the entry Define object links. Define the new object links EKPO
and EBAN. Maintain object link descriptions for EKPO (Purchase order item; Scr.no. 248) and EBAN (Purchase req.
item; Scr. no. 247)
4. Define the workstation application in transaction DC30.
All required file types should be included in this list.
- http://scn.sap.com/thread/1270026
15. Attachment Transfer from ECC PR to SRM
Relevant BAPI to attachments:
BBP_ATTACHMENT_FROM_EXT_MAPV Wertemapping Attachment extern nach intern
BBP_ATTACHMENT_IN_FROM_XI_MAPS Strukturmapping Attachment XI -> intern
BBP_ATTACHMENT_IN_MAPCB Common mapping for incoming attachments to BAPI
BBP_ATTACHMENT_OUT_MAPC Common mapping for outgoing attachment from BAPI
BBP_ATTACHMENT_OUT_MAPCB Common mapping for outgoing attachment from BAPI
BBP_ATTACHMENT_OUT_TO_XI_MAPS Strukturmapping Attachment intern -> XI
BBP_ATTACHMENT_TO_EXT_MAPV Wertemapping Attachment intern nach extern
http://www.conarum.com/srm/sap-srm-supplier-relationship-management-bausteine-bbp-a-bis-bbp-g