This document provides instructions for updating a single record in ABAP by creating a function module program. It describes creating subroutines like ASK_LOSS and NUMBER_GET_NEXT to generate unique customer IDs and save data. It also involves setting up the GUI status, title, and screen layout by adding fields from the SCUSTOM database table to collect and display customer information for the selected record.
Page 8 of 8Delete this text and type your name here This fil.docxalfred4lewis58146
Page 8 of 8
Delete this text and type your name here
This file will become rather large due to your screen shots. Pleasecompress this file (zip) before submitting it.
Lab 3: 40Total Points Possible
You will need to log into Apex at https://iacademy.oracle.com in order to complete this assignment.
Sections 1-2 Programming with SQL
Section 1 Objectives:Using Character, Number and Date Functions
Create and execute single-row functions that perform case conversion and/or character manipulationCreate and execute single-row number functions ROUND and TRUNCCreate and execute single-row functions ADD_MONTHS and NEXT_DAY that operate on date data
Vocabulary:
Directions: Identify the vocabulary word(s) for each definition below. (1 Point each)
1. Dummy table used to view results from functions and calculations.
Answer:
2. Replaces a sequence of characters in a string with another set of characters.
Answer:
Try it/Solve it:
Log into Apex and execute the following from the SQL Workshop:
1. Using the words "Longview" and "College", use the CONCAT command to produce the following output. Use a column alias for "The Best School".
Provide the select statement you used: (2Points)
Your Answer below:
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below.It is necessary that I see your 'entire' screen. Your workspace/username MUST appear in the results to earn credit.(1 Point)
Your Screenshot below:
2. Display the order date and the order total from the Global Fast Foods F_ORDERS table. Name the order total as TOTAL (using column alias) and fill in the empty spaces to the left of the order total with $ (using the LPAD character manipulation function). The F_ORDERS table data is located in the Oracle Student Tables spreadsheet located under the Video and Resources button in Blackboard. Results will appear as shown below:
Provide the select statement you used: (2 Points)
Your Answer below:
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below.It is necessary that I see your 'entire' screen. Your workspace/username MUST appear in the results to earn credit.(1 Point)
Your Screenshot below:
3. Display the last name and birth date of staff members from the Global Fast Foods F_STAFFS table. Use character case-manipulation function UPPER so the last name displays in uppercase. Use a column alias so the last name displays as 'User Name'. Use a column alias so the birth date displays as 'Birthday'. Results should appear as shown below:
Provide the select statement you used: (2 Points)
Your Answer below:
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below.It is necessary that I see 'entire' screen. Your workspace/username MUST appear in the results to earn credit.(1 Point)
Your Screenshot below:
Number Functions
Vocabulary:
Direct.
Page 3 of 11Delete this text and type your name here This .docxalfred4lewis58146
Page 3 of 11
Delete this text and type your name here
This file will become rather large due to your screen shots. I encourage you to compress this file (zip) before submitting it.
Lab 4: 40 Total Points Possible
You will need to log into Apex at https://iacademy.oracle.comin order to complete this assignment.
Sections 3-4 Programming with SQL
Section 3 Objectives: Executing Database Joins
Create and execute database joinsUse table aliases in SQL statements
Vocabulary:
Directions: Identify the vocabulary word for each definition below. (1 Point each)
1. A join that returns the unmatched rows as well as matched rows.
Answer:
2. Performs a join on two tables, retrieves all the rows in the left table even if there is no match in the right table.
Answer:
3. A join of two or more tables that return only matched rows.
Answer:
Try It / Solve It:
In order to be successful with this lab, you must review the ‘Oracle Student Tables’ file located under ‘Videos and Resources’ (multiple tabs across bottom of worksheet). This file will help you to understand the data that is being manipulated in the SQL statements.
I amproviding a ‘copy’ (first 20 rows) of the ‘Results from Apex’ for each question.Hopefully, this will help you see if you are on track with your results. At the top of your SQL window, you MUST increase the number of rows displayed to 20 so that I am able to see the first 20 rows of your results.You will need to provide the SQL statement you used to produce your results.
DBMS Output
11141129549203
11143605700225
1. Create a query using a LEFT OUTER JOIN that will display the first name, last name, and department name for all employees including those employees not assigned to a department. You will be using the Employees and Departments tables. Use a table alias in your SQL statement. Execute the query in Oracle Application Express (Apex). (2 Points)
Select Statement You Used:
My example of correct results from Apex (copy):
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below. It is necessary that I see your 'entire' screen. Your workspace/username MUST appear in the results to earn credit. (1 Point)
Your Screenshot below:
DBMS Output
2. Create a query using a RIGHT OUTER JOIN that will display the first name, last name, and department id for all employees including those departments that do not have an employee assigned to them. You will be gathering data from the Employees and Departments tables. Use a table alias in your SQL statement. Execute the query in Oracle Application Express (Apex). (2 Points)
Select StatementYou Used:
My example of correct results from Apex (copy):
DBMS Output
DBMS Output
DBMS Output
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below. It is necessary that I see your 'entire' screen. Your workspace/username MUST appear in the results to ear.
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docxketurahhazelhurst
CASE STUDY
Internet/Excel Exercises, page 434, text
Record your findings in a Word document and submit it online
IBM has substantial operations in many countries, including the United States, Canada, and Germany. Go to finance.yahoo.com/q?s=ibm.
1. Click on Historical Prices. (Or apply this exercise to a different MNC.) Set the date range so that you can obtain quarterly values of the U.S. stock index for the last 20 quarters. Insert the quarterly data on a spreadsheet. Compute the percentage change in IBM’s stock price for each quarter. Next go to finance.yahoo.com/stock-center/ and click (under U.S.) on S&P Composite 1500 Index, which represents the U.S. stock market index, so that you can derive the quarterly percentage change in the U.S. stock index over the last 20 quarters. Then run a regression analysis with IBM’s quarterly return (percentage change in stock price) as the dependent variable and the quarterly percentage change in the U.S. stock market’s value as the independent variable. (Appendix C explains how Excel can be used to run regression analysis.) The slope coefficient serves as an estimate of the sensitivity of IBM’s value to the U.S. market returns. Also, check the fit of the relationship based on the R-squared statistic.
2. Go to finance.yahoo.com/stock-center/ and click (under “Europe”) on DAX, which represents the German stock market index. Repeat the process described in exercise 1 so that you can assess IBM’s sensitivity to the German stock market. Compare the slope coefficient between the two analyses. Is IBM’s value more sensitive to the U.S. market or the German market? Does the U.S. market or the German market explain a higher proportion of the variation in IBM’s returns (check the R-squared statistic)? Offer an explanation of your results.
Lab 5 Database Security
Use the script from week 1 for the week 5 lab.
1. Create four new users
a. The first user will have full rights to the database
b. The second user grant access to the Client’s table and allow them the rights to INSERT data into the clients table
c. The third user grant rights to create user logins and reset passwords
d. The fourth user grant column rights to the Course_Activity table allow access to the Course Code and Grade column. Allow user to UPDATE a maximum of 5 times per hour.
2. Login with each user to demonstrate the rights you have given them
a. User 1 login and create a VIEW for user 2 that just displays the Client table
b. User 2 login and add 3 more clients to the Clients table
c. User 3 login create two new users
d. User 4 login and UPDATE two new entries for Course Code and Grade Column for Client 1 and 2
e. For each user run the Show Privileges command to show correct rights and permissions have been applied
3. Show Log Files: For each user show log files (since we do not have MySQL Enterprise we cannot use the Audit function but as a substitute we can use the built-in log file function)
4. Create a Stored Procedure with User ...
Page 8 of 8Delete this text and type your name here This fil.docxalfred4lewis58146
Page 8 of 8
Delete this text and type your name here
This file will become rather large due to your screen shots. Pleasecompress this file (zip) before submitting it.
Lab 3: 40Total Points Possible
You will need to log into Apex at https://iacademy.oracle.com in order to complete this assignment.
Sections 1-2 Programming with SQL
Section 1 Objectives:Using Character, Number and Date Functions
Create and execute single-row functions that perform case conversion and/or character manipulationCreate and execute single-row number functions ROUND and TRUNCCreate and execute single-row functions ADD_MONTHS and NEXT_DAY that operate on date data
Vocabulary:
Directions: Identify the vocabulary word(s) for each definition below. (1 Point each)
1. Dummy table used to view results from functions and calculations.
Answer:
2. Replaces a sequence of characters in a string with another set of characters.
Answer:
Try it/Solve it:
Log into Apex and execute the following from the SQL Workshop:
1. Using the words "Longview" and "College", use the CONCAT command to produce the following output. Use a column alias for "The Best School".
Provide the select statement you used: (2Points)
Your Answer below:
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below.It is necessary that I see your 'entire' screen. Your workspace/username MUST appear in the results to earn credit.(1 Point)
Your Screenshot below:
2. Display the order date and the order total from the Global Fast Foods F_ORDERS table. Name the order total as TOTAL (using column alias) and fill in the empty spaces to the left of the order total with $ (using the LPAD character manipulation function). The F_ORDERS table data is located in the Oracle Student Tables spreadsheet located under the Video and Resources button in Blackboard. Results will appear as shown below:
Provide the select statement you used: (2 Points)
Your Answer below:
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below.It is necessary that I see your 'entire' screen. Your workspace/username MUST appear in the results to earn credit.(1 Point)
Your Screenshot below:
3. Display the last name and birth date of staff members from the Global Fast Foods F_STAFFS table. Use character case-manipulation function UPPER so the last name displays in uppercase. Use a column alias so the last name displays as 'User Name'. Use a column alias so the birth date displays as 'Birthday'. Results should appear as shown below:
Provide the select statement you used: (2 Points)
Your Answer below:
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below.It is necessary that I see 'entire' screen. Your workspace/username MUST appear in the results to earn credit.(1 Point)
Your Screenshot below:
Number Functions
Vocabulary:
Direct.
Page 3 of 11Delete this text and type your name here This .docxalfred4lewis58146
Page 3 of 11
Delete this text and type your name here
This file will become rather large due to your screen shots. I encourage you to compress this file (zip) before submitting it.
Lab 4: 40 Total Points Possible
You will need to log into Apex at https://iacademy.oracle.comin order to complete this assignment.
Sections 3-4 Programming with SQL
Section 3 Objectives: Executing Database Joins
Create and execute database joinsUse table aliases in SQL statements
Vocabulary:
Directions: Identify the vocabulary word for each definition below. (1 Point each)
1. A join that returns the unmatched rows as well as matched rows.
Answer:
2. Performs a join on two tables, retrieves all the rows in the left table even if there is no match in the right table.
Answer:
3. A join of two or more tables that return only matched rows.
Answer:
Try It / Solve It:
In order to be successful with this lab, you must review the ‘Oracle Student Tables’ file located under ‘Videos and Resources’ (multiple tabs across bottom of worksheet). This file will help you to understand the data that is being manipulated in the SQL statements.
I amproviding a ‘copy’ (first 20 rows) of the ‘Results from Apex’ for each question.Hopefully, this will help you see if you are on track with your results. At the top of your SQL window, you MUST increase the number of rows displayed to 20 so that I am able to see the first 20 rows of your results.You will need to provide the SQL statement you used to produce your results.
DBMS Output
11141129549203
11143605700225
1. Create a query using a LEFT OUTER JOIN that will display the first name, last name, and department name for all employees including those employees not assigned to a department. You will be using the Employees and Departments tables. Use a table alias in your SQL statement. Execute the query in Oracle Application Express (Apex). (2 Points)
Select Statement You Used:
My example of correct results from Apex (copy):
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below. It is necessary that I see your 'entire' screen. Your workspace/username MUST appear in the results to earn credit. (1 Point)
Your Screenshot below:
DBMS Output
2. Create a query using a RIGHT OUTER JOIN that will display the first name, last name, and department id for all employees including those departments that do not have an employee assigned to them. You will be gathering data from the Employees and Departments tables. Use a table alias in your SQL statement. Execute the query in Oracle Application Express (Apex). (2 Points)
Select StatementYou Used:
My example of correct results from Apex (copy):
DBMS Output
DBMS Output
DBMS Output
Using your print screen option (PrntScr button across top of keyboard), provide a screen shot of your results below. It is necessary that I see your 'entire' screen. Your workspace/username MUST appear in the results to ear.
CASE STUDY InternetExcel Exercises, page 434, textRecord your.docxketurahhazelhurst
CASE STUDY
Internet/Excel Exercises, page 434, text
Record your findings in a Word document and submit it online
IBM has substantial operations in many countries, including the United States, Canada, and Germany. Go to finance.yahoo.com/q?s=ibm.
1. Click on Historical Prices. (Or apply this exercise to a different MNC.) Set the date range so that you can obtain quarterly values of the U.S. stock index for the last 20 quarters. Insert the quarterly data on a spreadsheet. Compute the percentage change in IBM’s stock price for each quarter. Next go to finance.yahoo.com/stock-center/ and click (under U.S.) on S&P Composite 1500 Index, which represents the U.S. stock market index, so that you can derive the quarterly percentage change in the U.S. stock index over the last 20 quarters. Then run a regression analysis with IBM’s quarterly return (percentage change in stock price) as the dependent variable and the quarterly percentage change in the U.S. stock market’s value as the independent variable. (Appendix C explains how Excel can be used to run regression analysis.) The slope coefficient serves as an estimate of the sensitivity of IBM’s value to the U.S. market returns. Also, check the fit of the relationship based on the R-squared statistic.
2. Go to finance.yahoo.com/stock-center/ and click (under “Europe”) on DAX, which represents the German stock market index. Repeat the process described in exercise 1 so that you can assess IBM’s sensitivity to the German stock market. Compare the slope coefficient between the two analyses. Is IBM’s value more sensitive to the U.S. market or the German market? Does the U.S. market or the German market explain a higher proportion of the variation in IBM’s returns (check the R-squared statistic)? Offer an explanation of your results.
Lab 5 Database Security
Use the script from week 1 for the week 5 lab.
1. Create four new users
a. The first user will have full rights to the database
b. The second user grant access to the Client’s table and allow them the rights to INSERT data into the clients table
c. The third user grant rights to create user logins and reset passwords
d. The fourth user grant column rights to the Course_Activity table allow access to the Course Code and Grade column. Allow user to UPDATE a maximum of 5 times per hour.
2. Login with each user to demonstrate the rights you have given them
a. User 1 login and create a VIEW for user 2 that just displays the Client table
b. User 2 login and add 3 more clients to the Clients table
c. User 3 login create two new users
d. User 4 login and UPDATE two new entries for Course Code and Grade Column for Client 1 and 2
e. For each user run the Show Privileges command to show correct rights and permissions have been applied
3. Show Log Files: For each user show log files (since we do not have MySQL Enterprise we cannot use the Audit function but as a substitute we can use the built-in log file function)
4. Create a Stored Procedure with User ...
Change and Transport System (CTS) in SAPKunal Chadha
The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems in your system landscape.
This documentation gives you a step by step instruction with a sample transport of an executable file in SAP and how you can use the CTS to organize your changes, as well as basic information on setting up your system and client landscape, and choosing a transport strategy. Read and follow this documentation/tutorial when planning your development project.
Similar to Step bystep abap_changinga_singlerecord (20)
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Step bystep abap_changinga_singlerecord
1. Updating Single Record (ABAP)
Task: Changing a Single Record
Program: SAPMZ##_CUSTOMER1
Transaction: Z##_CUSTOMER1
Copy template: SAPBC414T_CREATE_CUSTOMER_01
Model Solution: SAPBC414S_CREATE_CUSTOMER_01
Our Program name: Z027393A_CUSTOMER1
The exercise makes you copy the template SAPBC414T_CREATE_CUSTOMER_01 to
SAPMZ##_CUSTOMER1 where ## is the student number, but here we will create
the complete exercise from scratch. Also, the exercise uses Module Pool to create
the program; here we are creating the program using Function Pool.
Information: SCUSTOM is the database table that holds the Customer data. The
application is written to save the data to this table. Use Transaction Code SE11 for
getting the record description and field description. And use Transaction Code SE16
to see the existing data. After the program is completed and executed, a new row
will be added to this table and can be viewed using the same transaction code
SE16.
Table and Fields:
SCUSTOM --> Flight Customer Data
MANDT - Client
ID - Customer Number
NAME - Customer name
FORM - Form of address
STREET - Street
POSTBOX - PO Box
POSTCODE - Postal Code
CITY - City
COUNTRY - Country code
REGION - Region
TELEPHONE - Telephone number of flight customer
CUSTTYPE - Customer type
DISCOUNT - Discount rate
LANGU - Language Key
Launch SE80.
Ensure that you are on the ‘Repository Browser’.
Select Package from the drop down and enter your Package name [ZxxxxxxA]
where xxxxxx is your SAP Login ID or Oracle ID, then click on the [Display] button.
Create the package if the package does not already exist.
Now create a Function Module, by right clicking the ‘Function Group’ item and
selecting ‘Create’ as shown.
1 of 31
2. Updating Single Record (ABAP)
Enter the Function Group (name) and Short Text (description.)
2 of 31
3. Updating Single Record (ABAP)
Click on Save.
Click on Save Symbol Icon.
Click on Continue Icon or hit Enter.
The system automatically creates two include functions as shown below.
3 of 31
4. Updating Single Record (ABAP)
Double click on the LZ027393A_CUSTOMER1TOP include file and enter the following
code.
FUNCTION-POOL Z027393A_CUSTOMER1 MESSAGE-ID bc414.
DATA: answer, flag.
DATA: ok_code LIKE sy-ucomm, save_ok LIKE ok_code.
TABLES: scustom. “This command is not obsolete for use in this situation
The command TABLES: scustom creates the SCUSTOM structure that retains the
newly entered (created) customer data.
4 of 31
5. Updating Single Record (ABAP)
The BC414 message class is declared as a program default in the PROGRAM
statement (see syntax MESSAGE-ID bc414 in the above code) and therefore valid
throughout the programs.
Save the Function Module by clicking on the Save button at the top.
Since we need to generate a unique ID for each new customer generated, we need
to use SAP functionality that does that. This Number Range Object/Buffer can be
created new or existing one used [Use Transaction Code SNRO to create and
maintain new Number Range Object.] We are using the existing object 'SBUSPID'.
SAP also provides us with a function NUMBER_GET_NEXT to get the IDS using this
object. We will first create a Subroutine to access the function in addition to other
subroutines been created.
Create the following subroutines as shown below, by right clicking on the Function
Group name and selecting Create > Subroutine.
5 of 31
6. Updating Single Record (ABAP)
Enter the name of the subroutine ‘ASK_LOSS’, SAP suggest a new Include for this
subroutine, select the suggested name ‘LZ027393A_CUSTOMER1F01’ – we will use
the same include to save all the subroutines that we will create shortly.
6 of 31
8. Updating Single Record (ABAP)
FORM ask_loss USING p_answer.
CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'
EXPORTING
textline1 = 'Continue?'(004)
titel = 'Create Customer'(003)
IMPORTING
answer = p_answer.
ENDFORM. " ASK_LOSS
Similarly create the following subroutines by right clicking on the Function Group
name and selecting Create > Subroutine.
ASK_SAVE
NUMBER_GET_NEXT
SAVE
SAVE_SCUSTOM
FORM NUMBER_GET_NEXT USING p_scustom LIKE scustom.
DATA: return TYPE inri-returncode.
* get next free number in the number range '01'
* of number object'SBUSPID'
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = '01'
object = 'SBUSPID'
IMPORTING
number = p_scustom-id
returncode = return
EXCEPTIONS
OTHERS = 1.
CASE sy-subrc.
WHEN 0.
CASE return.
WHEN 1.
* number of remaining numbers critical
MESSAGE s070.
WHEN 2.
* last number
MESSAGE s071.
WHEN 3.
* no free number left over
MESSAGE a072.
ENDCASE.
WHEN 1.
* internal error
MESSAGE a073 WITH sy-subrc.
8 of 31
9. Updating Single Record (ABAP)
ENDCASE.
ENDFORM. " NUMBER_GET_NEXT
FORM ASK_SAVE USING p_answer.
* POPUP_TO_CONFIRM_STEP is obsolete, so using POPUP_TO_CONFIRM below
* CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
* EXPORTING
* textline1 = 'Data has been changed.'(001)
* textline2 = 'Save before leaving transaction?'(002)
* titel = 'Create Customer'(003)
* IMPORTING
* answer = p_answer.
call function 'POPUP_TO_CONFIRM'
exporting
titlebar = 'Create Customer'(003)
text_question = 'Data has been changed. Save before leaving transaction? '
text_button_1 = 'Yes'
icon_button_1 = 'ICON_YES'
text_button_2 = 'No'
icon_button_2 = 'ICON_NO'
default_button = '2'
display_cancel_button = 'X'
importing
answer = p_answer.
ENDFORM. " ASK_SAVE
FORM SAVE.
* get SCUSTOM-ID from number range object BC_SCUSTOM
PERFORM number_get_next USING scustom.
* save new customer
PERFORM save_scustom.
ENDFORM.
FORM SAVE_SCUSTOM.
INSERT INTO scustom VALUES scustom.
IF sy-subrc <> 0.
* insertion of dataset in DB-table not possible
MESSAGE a048.
ELSE.
* insertion successfull
MESSAGE s015 WITH scustom-id.
ENDIF.
ENDFORM.
9 of 31
11. Updating Single Record (ABAP)
Click on the ‘+’ next to the Menu Bar and add the following text and labels.
Now double click on the ‘Edit’ text (next to the Customer Data label that was
entered)
11 of 31
12. Updating Single Record (ABAP)
Delete all the following entries using button on the top menu, except the
Cancel line and add the Code as shown
Save the changes.
12 of 31
13. Updating Single Record (ABAP)
Now maximize the Function Keys by clicking on the ‘+’ sign next to it.
Enter SAVE, BACK, EXIT and CANCEL function code next (above) the save, back,
exit and Cancel icon as shown below under the Standard Toolbar button.
Enter the fast text as shown below for these buttons. Leave Function Type as blank
(Blank defaults to Application Function) for Save and Back button and E (exit) for
Exit and Cancel.
13 of 31
16. Updating Single Record (ABAP)
Enter the Title Code and Title as shown below
Click on enter to save the GUI title.
Save and Activate the program, by clicking on the Activate button.
Creating the screen.
Now create a Screen, by right clicking the ‘Function Group’ item and selecting
‘Create’ and then ‘Screen’ as shown.
16 of 31
17. Updating Single Record (ABAP)
Enter Screen number as shown
Click Continue button or hit enter.
17 of 31
19. Updating Single Record (ABAP)
Click on the Dictionary/Program Field Window button or hit F6.
In the Table/Field Name field enter ‘SCUSTOM’ and then click on the ‘Get from
Dictionary’ button. Important note – by selecting these fields from the database
tables [in repository] all the fields automatically get all the labels/field help/etc
defaulted from their respective fields’ definition in the data dictionary.
Select the fields as shown.
19 of 31
20. Updating Single Record (ABAP)
Click on the Continue button.
Click on the blank screen somewhere near the top left corner, so that the selected
fields get copied over to the screen.
20 of 31
21. Updating Single Record (ABAP)
Do not convert any fields if requested (in this simple example.)
Rearrange the fields as shown. Add 4 boxes around the groupings.
21 of 31
22. Updating Single Record (ABAP)
Save the screen and exit the Screen Painter (Screen > Exit)
Go to the ‘Element List’ tab of the Screen (this tab is between the ‘Attributes’ and
‘Flow Logic’ tab. On the ‘General Attributes’ sub tab enter the Frame01, Frame02,
Frame03 and Frame04 for the four unnamed boxes created. Also enter the
‘OK_CODE’ name for the field name that has the ‘Type of screen element’ OK (this
is automatically created by the screen when the screen is created – we provide a
name.) During run time this field OK_CODE will have the name of the function code
of the button or key that was clicked by user.
22 of 31
23. Updating Single Record (ABAP)
On the ‘Flow Logic’ tab enter the following code for the Process Before Output
(PBO) and Process After Input (PAI) logic.
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE EXIT AT EXIT-COMMAND.
MODULE SAVE_OK_CODE.
23 of 31
24. Updating Single Record (ABAP)
FIELD: scustom-name MODULE mark_changed ON REQUEST.
MODULE USER_COMMAND_0100.
Save the changes.
Create the modules STATUS_0100 and USER_COMMAND_0100 by forward
navigation (i.e., double click on any module name(s), since these modules do not
exist currently, the system will prompt us, to create these.) These modules are
created in the appropriate INCLUDE file.
Double click on STATUS_0100 in the above ABAP editor. At the following prompt
select ‘Yes’.
Select the recommended new include file that the system shows.
Note that the alphabet ‘O’ in the name (3rd character from last) stands for OUTPUT
of PROCESS BEFORE OUTPUT (PBO) modules and all the output modules may be
created here.
24 of 31
25. Updating Single Record (ABAP)
Select Continue button or hit Enter.
Modify the module definition as shown below.
*----------------------------------------------------------------------*
***INCLUDE LZ027393A_CUSTOMER1O01 .
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'DYN_0100'.
SET TITLEBAR 'DYN_0100'.
ENDMODULE. " STATUS_0100 OUTPUT
Save and hit the Back button (F3) to go back to the Flow Logic of the screen.
Now double click on the USER_COMMAND_0100 name.
Select Yes.
25 of 31
26. Updating Single Record (ABAP)
Accept the new INCLUDE file name for this new INPUT (PAI – Process after Input)
module.
Click on Continue button or hit Enter.
Enter the following code in this INCLUDE function.
*----------------------------------------------------------------------*
***INCLUDE LZ027393A_CUSTOMER1I01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
MODULE exit INPUT.
CASE ok_code.
WHEN 'EXIT'.
IF sy-datar IS INITIAL AND flag IS INITIAL.
* no changes on screen 100
LEAVE PROGRAM.
ELSE.
26 of 31
27. Updating Single Record (ABAP)
PERFORM ask_save USING answer.
* CASE answer.
* WHEN 'J'.
* ok_code = 'SAVE&EXIT'.
* WHEN 'N'.
* LEAVE PROGRAM.
* WHEN 'A'.
* CLEAR ok_code.
* SET SCREEN 100.
* ENDCASE.
CASE answer.
WHEN '1'.
ok_code = 'SAVE&EXIT'.
WHEN '2'.
LEAVE PROGRAM.
WHEN 'A'.
CLEAR ok_code.
SET SCREEN 100.
ENDCASE.
ENDIF.
WHEN 'CANCEL'.
IF sy-datar IS INITIAL AND flag IS INITIAL.
* no changes on screen 100
LEAVE TO SCREEN 0.
ELSE.
PERFORM ask_loss USING answer.
CASE answer.
WHEN 'J'.
LEAVE TO SCREEN 0.
WHEN 'N'.
CLEAR ok_code.
SET SCREEN 100.
ENDCASE.
ENDIF.
ENDCASE.
ENDMODULE. " EXIT INPUT
*&---------------------------------------------------------------------*
*& Module SAVE_OK_CODE INPUT
*&---------------------------------------------------------------------*
MODULE save_ok_code INPUT.
save_ok = ok_code.
CLEAR ok_code.
ENDMODULE. " SAVE_OK_CODE INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
27 of 31
28. Updating Single Record (ABAP)
MODULE user_command_0100 INPUT.
CASE save_ok.
WHEN 'SAVE&EXIT'.
PERFORM save.
LEAVE PROGRAM.
WHEN 'SAVE'.
IF flag IS INITIAL.
SET SCREEN 100.
ELSE.
PERFORM save.
SET SCREEN 0.
ENDIF.
WHEN 'BACK'.
IF flag IS INITIAL.
SET SCREEN 0.
ELSE.
PERFORM ask_save USING answer.
CASE answer.
WHEN 'J'.
PERFORM save.
SET SCREEN 0.
WHEN 'N'.
SET SCREEN 0.
WHEN 'A'.
SET SCREEN 100.
ENDCASE.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module MARK_CHANGED INPUT
*&---------------------------------------------------------------------*
MODULE mark_changed INPUT.
* set flag to mark changes were made on screen 100
flag = 'X'.
ENDMODULE. " MARK_CHANGED INPUT
Save and Activate the program (including the screens, etc)
Create a transaction code to execute this program.
28 of 31
29. Updating Single Record (ABAP)
Enter the program name and description.
Click on Continue button or hit Enter.
29 of 31
30. Updating Single Record (ABAP)
Save - choose the appropriate package and workbench request.
30 of 31